centos7 redis5.0以前版本 集群部署示例 - 第一篇
簡(jiǎn)言
1. redis5.0版本以前的集群部署是使用ruby腳本完成的,ruby腳本的安裝少略麻煩(主要原因是系統(tǒng)自動(dòng)安裝的版本太低,無(wú)法部署集群,必須手動(dòng)安裝)
2. redis5.0版本以后的集群部署集成到了create_cluster中(位置:redis根目錄/utils/create-cluster/create-cluster),更簡(jiǎn)單,幾條簡(jiǎn)單的命令即可部署一個(gè)簡(jiǎn)單版的集群,具體示例見(jiàn)筆者的這篇博客,https://blog.csdn.net/yzf279533105/article/details/105563361
?
示范(第一種情況,也就是redis5.0版本以前的)
版本:筆者使用的redis版本是redis4.0.14,下載地址見(jiàn):https://download.csdn.net/download/yzf279533105/12050914
? ? ? ? ? ? 使用的ruby版本是ruby-2.6.5,下載地址見(jiàn):https://download.csdn.net/download/yzf279533105/12043129
? ? ? ? ? ? 使用的rubygem對(duì)redis的管理包,下載地址見(jiàn):https://download.csdn.net/download/yzf279533105/12051029
原理:開(kāi)啟6個(gè)獨(dú)立的redis服務(wù)器,然后使用ruby腳本把它們連接起來(lái),ruby會(huì)自動(dòng)幫我們分配好6個(gè)節(jié)點(diǎn)的主從關(guān)系
1. 在目錄 /usr/local下新建一個(gè)文件夾 redis-cluster-4.0.14,該目錄用來(lái)存放我們所有的redis節(jié)點(diǎn)示例
2. 在新建的目錄redis-cluster-4.0.14 中創(chuàng)建一個(gè)文件夾 redis01,這個(gè)目錄用來(lái)存放redis示例節(jié)點(diǎn)1的文件
3. 在新建的目錄 redis01 中放入以下文件,如下圖,注意這些文件原來(lái)的位置,這是筆者安裝redis4.0.14的目錄,大都是redis4.0.14編譯出來(lái)的
? ? 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地址,改為本機(jī)的局域網(wǎng)IP,bind屬性,比如筆者的測(cè)試機(jī)器IP是 192.168.127.130,如下圖
? ??
? ? 4.2 綁定的端口號(hào),port屬性, 默認(rèn)是6379,改為8001,如下圖
? ??
? ? 4.3 打開(kāi)集群模式,即cluster-enabled 屬性設(shè)置為yes,如下圖
? ??
5. 把文件夾redis01目錄,復(fù)制在同目錄下,即redis-cluster-4.0.14目錄下,分別命名redis02, redis03, redis04, redis05, redis06,這便是我們的6個(gè)redis節(jié)點(diǎn),如下圖
6. 重復(fù)步驟4的修改,把里面的redis.conf文件里面的綁定端口依次改為8002,8003,8004,8005,8006
7. 啟動(dòng)這6個(gè)redis節(jié)點(diǎn),一個(gè)一個(gè)啟動(dòng)太麻煩了,我們做個(gè)批處理,start_all.sh,文件內(nèi)容如下
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. 啟動(dòng)腳本bash start_all.sh,我們運(yùn)行命令 ps axu | grep redis 查看下redis進(jìn)程,如下圖所示
9.?至此我們開(kāi)啟來(lái)了6個(gè)redis節(jié)點(diǎn)
10. 搭建集群需要ruby腳本,所以我們需要安裝ruby,不要使用系統(tǒng)自動(dòng)安裝,因?yàn)橄到y(tǒng)安裝的ruby版本太低,無(wú)法部署redis集群。我們先運(yùn)行命令 yum install gem 安裝gem,安裝成功后,運(yùn)行命令 ruby -v,查看ruby的版本,會(huì)發(fā)現(xiàn)版本太舊了,如下圖
11. 由于ruby2.0.0還是2015年的版本,無(wú)法部署redis集群,接下來(lái)請(qǐng)按照筆者的這篇博客 :https://blog.csdn.net/yzf279533105/article/details/103668279 安裝ruby,建議和筆者的ruby版本一致,這樣不會(huì)出什么問(wèn)題
12. 把redis-4.0.14/src/redis-trib.rb文件拷貝到我們的redis集群目錄,即 /usr/local/redis-cluster-4.0.14目錄下,現(xiàn)在目錄結(jié)構(gòu)如下圖
13. 從上面的地址?https://download.csdn.net/download/yzf279533105/12051029 下載gem對(duì)redis的支持包,下載到本目錄
14. 安裝這個(gè)gem包,運(yùn)行命令 gem install redis-4.1.3.gem
注意:可能報(bào)出這樣的錯(cuò)誤,如下圖:
說(shuō)明需要重新安裝redis的zlib庫(kù),具體操作如下
1、cd ruby-2.6.5/ext/zlib目錄,執(zhí)行?ruby ./extconf.rb、make 、make install命令。
2、若make時(shí)報(bào)錯(cuò)(chmod +x Makefile):make: *** No rule to make target `/include/ruby.h', needed by `zlib.o'.??Stop.
3、更改Makefile文件,?zlib.o: $(top_srcdir)/include/ruby.h??改成???zlib.o: ../../include/ruby.h;再重新make就可以成功了
15. 至此,所有的準(zhǔn)備工作已經(jīng)完成
16. 創(chuàng)建集群,運(yùn)行命令?./redis-trib.rb create --replicas 1 192.168.11.190:8001 192.168.11.190:8002 192.168.11.190:8003 192.168.11.190:8004 192.168.11.190:8005 192.168.11.190:8006
注意1:若使用的redis是5.0版本以上,則會(huì)報(bào)錯(cuò),類似下面
WARNING: redis-trib.rb is not longer available!You should use redis-cli instead
意思是redis-trib.rb很快就不能再使用了,可以使用redis-clis來(lái)代替,所以筆者這里給出了redis, ruby, gem包的詳細(xì)版本:
注意2:也有可能報(bào)出這樣的錯(cuò)誤,如下圖
這個(gè)時(shí)候說(shuō)明ruby腳本還缺乏redis的組件,也就是剛才的 gem install redis-4.1.3.gem未執(zhí)行成功,我們重新執(zhí)行下即可,安裝成功時(shí)會(huì)出現(xiàn)下面的提示,這樣就是正常的
17 . 搭建成功,如下圖所示(紅框處有標(biāo)出命令和槽的分配)
?
?
?
總結(jié)
以上是生活随笔為你收集整理的centos7 redis5.0以前版本 集群部署示例 - 第一篇的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: centos下安装ruby,删除ruby
- 下一篇: Git、GitHub、GitLab三者之