ubuntu16 redis5.0以前版本集羣部署示例

簡言

1. redis5.0版本以下集羣的部署是使用ruby腳本完成的,ruby腳本的安裝少略麻煩(主要原因是系統自動安裝的版本太低,無法部署集羣,必須手動安裝)

2. redis5.0版本以後把集羣的部署集成到了create_cluster中(位置:redis根目錄/utils/create-cluster/create-cluster),更簡單,幾條簡單的命令即可部署一個簡單版的集羣,具體示例見筆者的這篇博客,todo

3. 如果您在參考本片博客進行操作時遇到了其他未知問題,請參考筆者的這篇博客,centos版本的redis5.0以下集羣搭建

https://blog.csdn.net/yzf279533105/article/details/103696990

版本

redis版本是redis4.0.14,下載地址見:https://download.csdn.net/download/yzf279533105/12050914

ruby版本是ruby-2.6.5,下載地址見:https://download.csdn.net/download/yzf279533105/12043129

rubygem對redis的管理包,下載地址見:https://download.csdn.net/download/yzf279533105/12051029

系統: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文件裏面的綁定端口依次改爲80028003800480058006

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是從)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章