Redis-3.2.4叢集配置(RedisCluster+SpringBoot+Jedis)
阿新 • • 發佈:2019-01-16
來源http://blog.csdn.net/zhe1110/article/details/52993082
部署計劃 部署6個redis節點,為3主3從。埠 | IP地址 |
6379 |
192.168.101.121 |
6379 |
192.168.101.199 |
6379 |
192.168.101.123 |
6379 |
192.168.101.127 |
6379 |
192.168.101.125 |
6379 |
192.168.101.126 |
tar zxvf redis-3.2.4.tar.gz
cd redis-3.2.4 make make install PREFIX=/data/redis-3.2.4 //預設安裝到/usr/local/bin目錄下。這裡指定安裝目錄data/redis-3.2.4
cluster-enabled yes //開啟叢集配置 cluster-config-file nodes-6379.conf //節點配置檔案,這個檔案是服務啟動時自己配置建立的 cluster-node-timeout 5000 //叢集中各節點相互通訊時,允許"失聯"的最大毫秒數,如果超過沒向其它節點彙報成功,就認為該節點已掛。
cluster-slave-validity-factor 0 //將該項設定為0,不管slave節點和master節點間失聯多久都會一直嘗試failover repl-ping-slave-period 1 其他5臺機器配置 相同操作目錄可直接遠端拷貝
scp -r [email protected]:/data/redis/data /data/redis/ scp -r [email protected]:/data/redis/conf /data/redis/ scp -r [email protected]:/data/redis/log /data/redis/ 建立和啟動redis cluster前的準備工作
yum -y install ruby //安裝ruby yum -y install rubygems //安裝rubygems wget https://rubygems.org/downloads/redis-3.3.1.gem //安裝redis-3.3.1.gem gem install -l redis-3.3.1.gem
cp redis-3.2.4/src/redis-trib.rb /data/redis/bin/ //redis-trib.rb是redis官方提供的redis cluster管理工具,使用ruby實現。 ./redis-server /data/redis/conf/redis.conf //啟動6臺服務
建立redis cluster
redis-trib.rb create --replicas 1 192.168.101.121:6379 192.168.101.199:6379 192.168.101.123:6379 192.168.101.127:6379 192.168.101.125:6379 192.168.101.126:6379 #redis-trib.rb的create子命令構建 #--replicas 則指定了為Redis Cluster中的每個Master節點配備幾個Slave節點 進入redis客戶端 redis-cli -c -p 6379 //-c進入叢集模式 info//檢視資訊 cluster nodes//檢視節點資訊 CLUSTER SLOTS//檢視插槽資訊 節點操作 ./redis-trib.rb del-node 192.168.101.121:6379 '2ff326bc9084236ee6540d58d307893662ceff0b'//刪除節點
./redis-trib.rb add-node --slave --master-id 0ecc54ed34cc7e2e1ebca168ab4564b803992094 192.168.101.121:6379 192.168.101.125:6379//新增從節點,新增前需要刪除已存在的node.conf,rdb,aof檔案 ./redis-trib.rb reshard 192.168.101.121:6379//為新節點分配slot ./redis-trib.rb check 192.168.101.121:6379 //檢查叢集執行狀態,只要輸入任意叢集中節點即可,會自動檢查所有相關節點。 ./redis-trib.rb fix 192.168.101.121:6379 //修復叢集(若node移除了,但是並沒有移除node上面的slot,從而導致了slot總數沒有達到16384,其實也就是slots分佈不正確。所以在刪除節點的時候一定要注意刪除的是否是Master主節點)。 關於叢集建立錯誤 叢集建立的時候如果沒有建立成功,那麼需要刪除叢集節點配置檔案,不然無法重新建立叢集 sudo rm /data/redis-3.2.4/data/6379/nodes-6379.conf
如果遇到Waiting for the cluster to join ....................................................... >>> Sending CLUSTER MEET messages to join the cluster 解決方式 sudo ./redis-cli -c -p 6379 //進入客戶端 CLUSTER MEET <ip> <port> 將 ip 和 port 所指定的節點新增到叢集當中。 Jedis的配置 config檔案需要新增 github上有這一句,Jedis Cluster 會自動去發現叢集中的節點,所以JedisClusterNodes只需要 add一個例項
dao