ubuntu16 redis5.0以前版本集群部署示例
簡言
1. redis5.0版本以前集群的部署是使用ruby腳本完成的,ruby腳本的安裝少略麻煩(主要原因是系統自動安裝的版本太低,無法部署集群,必須手動安裝)
2. redis5.0版本以后把集群的部署集成到了create_cluster中(位置:redis根目錄/utils/create-cluster/create-cluster),更簡單,幾條簡單的命令即可部署一個簡單版的集群,具體示例見筆者的這篇博客,ubuntu16 redis5.0以后版本集群部署示例_papaya的博客-CSDN博客
3. 如果您在參考本篇博客進行操作時遇到了其他未知問題,請參考筆者的這篇博客,centos版本的redis5.0以下集群搭建
centos7 redis5.0以前版本 集群部署示例 - 第一篇_papaya的博客-CSDN博客
版本
redis版本是redis4.0.14,下載地址見:redis-4.0.14.tar-Redis代碼類資源-CSDN下載
ruby版本是ruby-2.6.5,下載地址見:ruby-2.6.5.tar-其它工具類資源-CSDN下載
rubygem對redis的管理包,下載地址見:redis-4.1.3.gem-其它工具類資源-CSDN下載
系統:ubuntu 16.04 64位
架構
開啟6個獨立的redis服務器,然后使用ruby腳本把它們連接起來,ruby會自動幫我們分配好6個節點的主從關系
具體步驟
1. 在目錄 /usr/local下新建一個文件夾 redis-cluster-4.0.14,該目錄用來存放我們所有的redis節點示例
2. 在新建的目錄redis-cluster-4.0.14 中創建一個文件夾 redis01,這個目錄用來存放redis示例節點1的文件
3. 在新建的目錄 redis01 中放入以下文件,如下圖,注意這些文件原來的位置,這是筆者安裝redis4.0.14的目錄,都是redis4.0.14編譯出來的
????redis-benchmark ???????原位置:?????/usr/local/redis/redis-4.0.14/src/
????redis-check-aof??????????原位置:??????/usr/local/redis/redis-4.0.14/src/
????redis-check-rdb??????????原位置:??????/usr/local/redis/redis-4.0.14/src/
????redis-cli??????????????????????原位置:??????/usr/local/redis/redis-4.0.14/src/
????redis.conf???????????????????原位置:??????/usr/local/redis/redis-4.0.14/
????redis-server????????????????原位置:??????/usr/local/redis/redis-4.0.14/src
????redis-sentinel????????????我們自建的軟連接,即命令 ln -s redis-server redis-sentinel
4. 修改文件 redis01/redis.conf,修改redis.conf完畢后,記得保存。具體修改如下:
????4.1 綁定的IP地址,改為本機的局域網IP,bind屬性,比如筆者的測試機器IP是 192.168.130.113,如下圖
????
????4.2 綁定的端口號,port屬性, 默認是6379,改為8001,如下圖
????
????4.3 打開集群模式,即cluster-enabled 屬性設置為yes,如下圖
????
5. 把文件夾redis01目錄,復制在同目錄下,即redis-cluster-4.0.14目錄下,分別命名redis02, redis03, redis04, redis05, redis06,這便是我們的6個redis節點,如下圖
6. 重復步驟4的修改,把里面的redis.conf文件里面的綁定端口依次改為8002,8003,8004,8005,8006
7. 啟動這6個redis節點,一個一個啟動太麻煩了,我們做個批處理,start_all.sh,文件內容如下
cd redis01
./redis-server redis.conf &
cd ..
cd redis02
./redis-server redis.conf &
cd ..
cd redis03
./redis-server redis.conf &
cd ..
cd redis04
./redis-server redis.conf &
cd ..
cd redis05
./redis-server redis.conf &
cd ..
cd redis06
./redis-server redis.conf &
cd ..
8. 啟動腳本bash start_all.sh,我們運行命令 ps axu | grep redis 查看下redis進程,如下圖所示
9.?至此我們開啟來了6個redis節點
10. 搭建集群需要ruby腳本,所以我們需要安裝ruby,很簡單。我們先運行命令 apt-get?install ruby
gem 安裝gem,安裝成功后,運行命令 ruby -v,查看ruby的版本
11. 注意如果ruby版本過舊是無法部署redis集群的,比如ruby2.0.0還是2015年的版本,就沒辦法部署redis集群,如果您遇到了這樣的版本,請按照筆者的這篇博客 :https://blog.csdn.net/yzf279533105/article/details/103668279 安裝ruby,建議和筆者的ruby版本一致,這樣不會出什么問題
12. 把redis-4.0.14/src/redis-trib.rb文件拷貝到我們的redis集群目錄,即 /usr/local/redis-cluster-4.0.14目錄下,現在目錄結構如下圖
13. 從上面的地址?https://download.csdn.net/download/yzf279533105/12051029 下載gem對redis的支持包,下載到本目錄
14. 安裝這個gem包,運行命令 gem install redis-4.1.3.gem,(筆者第一次執行時出現了一個警告,所以又執行了一次,哈哈)
15. 至此,所有的準備工作已經完成
16. 創建集群,運行命令?./redis-trib.rb create --replicas 1 192.168.130.113:8001 192.168.130.113:8002 192.168.130.113:8003 192.168.130.113:8004 192.168.130.113:8005 192.168.130.113:8006 ?中途有個詢問,問你是不是滿意這種自動分配;如果你不滿意,輸入no,它會退出,什么都不做
注意:若使用的redis是5.0版本以上,則會報錯,類似下面
WARNING: redis-trib.rb is not longer available!You should use redis-cli instead
意思是redis-trib.rb很快就不能再使用了,應該使用redis-clis來代替,所以筆者這里給出了redis, ruby, gem包的詳細版本:
17 . 搭建成功,如下圖所示(紅框處有標出三個主redis和槽的分配,可以看到8001,8002,8003為主,8004,8005,8006是從)
?
總結
以上是生活随笔為你收集整理的ubuntu16 redis5.0以前版本集群部署示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu自动保存git账号和密码
- 下一篇: centos7 redis5.0以前版本