關閉
- 方式一:進入redis后,使用SHUTDOWN指令或SHUTDOWN SAVE指令或SHUTDOWN NOSAVE指令。
- 方式二:通過redis的客戶端程序
redis-cli的shutdown命令
redis-cli -p 6380 shutdown
- 方式三(不推薦):謹慎使用直接kill -9 ${進程號}的方式。
# 查看redis進程 ps -ef|grep redis # kill掉進程 kill -9 2177 2217
啟動
- 如果之前集群已經搭建好了,由於某些原因kill掉了所有節點,如果此時需要啟動集群的話,只需要挨個啟動各個Redis節點即可,集群自然就起來了。(注意:啟動redis服務時請在上次成功啟動服務的目錄啟動,即已經生成rdb,conf的目錄,否則該節點加入不了集群)
相關指令(注意:redis-server命令已經用alias定義別名使用了):
redis-server /opt/redis-cluster-6379/redis.conf
執行效果如圖:

重啟
(保留原有集群的)重啟:
- 不需要再執行(形如redis-cli -a ds123 --cluster create 10.8.109.24:6379 10.8.109.36:6379 10.8.109.49:6379 10.8.109.49:6380 10.8.109.24:6380 10.8.109.36:6380 --cluster-replicas 1這樣的)集群生成指令。
- 第一步:先關閉各個Redis節點。
- 第二步:再啟動各個Redis節點即可。(注意:啟動redis服務時請在上次成功啟動服務的目錄啟動,即已經生成rdb,conf的目錄,否則該節點加入不了集群)
(刪除原有集群的)重啟:
- 需要再執行(形如redis-cli -a ds123 --cluster create 10.8.109.24:6379 10.8.109.36:6379 10.8.109.49:6379 10.8.109.49:6380 10.8.109.24:6380 10.8.109.36:6380 --cluster-replicas 1這樣的)集群生成指令。
- 第一步:先關閉各個Redis節點。
- 第二步:刪除各個Redis安裝目錄下的節點配置文件nodes.conf、數據文件dump.rdb。
說明:此方式相當於重置到剛剛創建集群的時候了,所以需要刪除節點配置文件nodes.conf、還需要刪除數據存儲文件dump.rdb。
相關指令:
# 刪除節點配置文件 rm nodes.conf dump.rdb
rm -f dump-1-6379.rdb dump-1-6380.rdb
rm -f nodes-1-6379.conf nodes-1-6380.conf
rm -f nodes-1-6379.conf nodes-1-6380.conf
rm -f dump-2-6379.rdb dump-2-6380.rdb
rm -f nodes-2-6379.conf nodes-2-6380.conf
rm -f nodes-2-6379.conf nodes-2-6380.conf
rm -f dump-2-6379.rdb dump-2-6380.rdb
rm -f nodes-3-6379.conf nodes-3-6380.conf
rm -f nodes-3-6379.conf nodes-3-6380.conf
注:節點配置文件nodes.conf、數據文件dump.rdb等可以在redis.conf文件中指定
- 第三步:再啟動各個Redis節點。
- 第四步:(在集群中的任意一個節點)執行集群搭建指令。
src/redis-cli -a ds123 --cluster create 10.8.109.24:6379 10.8.109.36:6379 10.8.109.49:6379 10.8.109.49:6380 10.8.109.24:6380 10.8.109.36:6380 --cluster-replicas 1
注:因為我們開啟了Redis密碼認證,所以需要在這里-a ds123指明密碼,其中ds123就是本人設置的密碼。
注:--cluster-replicas 1中,1代表的是一個master有一個slave;前三個ip是master,后三個ip是對應的slave。
執行效果如圖:

注:如果此步時,最后提示[ERR] Not all 16384 slots are covered by nodes:

那么就說明:有部分slot被占用了(因為之前的Redis集群中使用過了部分solt,所以我們“重置”集群時會受到影響),此時我們需要清理每個節點的solt,進入各節點的客戶端:
# 進入客戶端 src/redis-cli -c # 密碼認證 auth ds123 # 清理當前連接的節點下的所有slot cluster flushslots
執行效果為:

再進行(刪除原有集群的)重啟即可。
集群相關指令:
查看集群相關指令:
# 進入redis客戶端,輸入
cluster help
查看集群狀態信息:
# 進入redis客戶端,輸入 cluster info
查看集群節點信息:
# 進入redis客戶端,輸入
cluster nodes

參考文獻:https://blog.csdn.net/justry_deng/article/details/89205155
