阿里雲部署redis3.2.100叢集注意事項redis cluster
由於安裝時忘記截圖,只有文字描述了
三臺雲伺服器 兩臺windows 一臺linux
6個redis服務 3主3從
在安全組要開放埠:如6379,伺服器中也要將埠暴露出來
叢集對外的總端 埠+10000,如16379也要開放出來
bind的設定 bind 0.0.0.0 不能註釋掉會連結不上叢集,可能是因為跨伺服器跨網段的原因吧
配置redis的配置檔案redis.conf
port 6379 #修改埠號,一臺多服務 一定要修改埠
daemonize yes #後臺啟動
cluster-enabled yes #開啟cluster,去掉註釋,一定要開啟
cluster-config-file nodes_6379.conf
cluster-node-timeout 15000 #叢集連線超時15秒
appendonly yes
我是在windows上部署的 ruby環境
安裝Ruby
redis的叢集使用 ruby指令碼編寫,所以系統需要有 Ruby 環境 ,
安裝時三個框都勾選
安裝Redis的Ruby驅動redis-xxxx.gem
下載地址 https://rubygems.org/pages/download下載後解壓 如E:\java\redis\rubygems-2.7.7 進入目錄
cmd命令 執行 ruby setup.rb。
去redis安裝目錄,cmd命令 執行 gem install redis
安裝叢集指令碼redis-trib
如果開啟不是下載,是網頁就將網頁的內容複製下來,自己建立個redis-trib.rb檔案,建議放在一個redis檔案下
開啟各個redis節點,執行建立叢集命令
redis-trib.rb create --replicas 1 xxx.xxx.xxx.xxx:7000 xxx.xxx.xxx.xxx::7001 xxx.xxx.xxx.xxx::7000 xxx.xxx.xxx.xxx::6379 xxx.xxx.xxx.xxx::7000 xxx.xxx.xxx.xxx:6379
然後輸入 yes
這個命令只需輸入一次就好了 之後節點關閉,重啟就不需要再執行了
ruby環境 也只需要在一臺伺服器上部署就好了
如果在建立叢集的時候爆錯誤了,錯誤資訊中有:
cluster-config-file,cache等,就將每個redis節點中的nodes_6379.conf刪除 ,然後重啟
注意:如果是redis5.0以上叢集,就不需要redis-trib.rb了,使用自帶的redis-cil 命令就好了:
redis-cli --cluster create xxx.xxx.xxx.xxx:7000 xxx.xxx.xxx.xxx::7001 xxx.xxx.xxx.xxx::7000 xxx.xxx.xxx.xxx::6379 xxx.xxx.xxx.xxx::7000 xxx.xxx.xxx.xxx:6379 --cluster-replicas 1