redis5.0以前為什么要用ruby?
redis5.0以后的版本
集群搭建,不需要借助ruby
https://blog.csdn.net/qq_25215821/article/details/100997778
新版命令:
src/redis-cli --cluster create --cluster-replicas 1
ip1:6379 ip2:6380 ip3:6381
ip1:6382 ip2:6383 ip3:6384
坑-1: https://www.liangzl.com/get-article-detail-40471.html
redis集群部署一直卡在 Waiting for the cluster to join ......
原因:redis集群總線端口為redis客戶端端口加上10000,比如說你的redis 6379端口為客戶端通訊端口,那么16379端口為集群總線端口
解決:添加redis 集群總線端口 和每個redis實例的通信端口
坑-2: https://www.jianshu.com/p/7720c922dd80
ERR] Node 192.168.10.204:6379 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
解決:
首先關閉redis
其次如果之前redis有數據存在,flushall清空;
然后關閉redis刪除 redis目錄如下文件: dump.rdb,nodes-6379.conf
重啟解決
加節點(擴容)
1- 加配置文件,主,從,修改端口,啟動兩個新的redis
2- 新主節點與已知主節點進行關聯
3- 綁定從節點
redis-cli --cluster add-node newip:newport knownip:knownport
進入從節點
執行 CLUSTER REPLICATE masterid
4- 重新分配槽位 redis-cli --cluster reshared newmasterip:port
減節點
先刪除從節點;再刪除主節點
redis-cli --cluster del-node ip:port id
刪除主節點時:
1- 先把槽位放回。注意:目前只能把master的數據遷移到一個節點上,暫時做不了平均分配功能,或者可以自己手動分配平均的槽位給各個主節點。
redis-cli --cluster reshard delip:delport
①這里是指定分配的槽位。
②緊接着是指定接收槽位的節點id
③這里是指定貢獻出槽位的節點id,步驟是 先輸入 節點id,回車之后,再輸入 done,再回車
2- 再進行移除節點
redis-cli --cluster del-node ip:port id
版本5.0.2集群搭建:
https://blog.csdn.net/qq_34002221/article/details/85019752
https://blog.csdn.net/qq_25215821/article/details/100997778