步驟:
1. 啟動集群服務(向集群添加新節點,則說明,集群是已知的)。
2. 搭建將要添加到集群的節點
(1)以集群的方式對新添加的節點進行配置:redis.conf.
(2)啟動節點實例服務.
3.集群管理 可參考 Redis cluster tutorial 官網指導文檔,往往是最新的。
一、啟動集群服務:【命令在集群服務器執行】
(1) 啟動集群服務(3個實例 6001 6002 6003)
/usr/local/redis/redis-5.0.8/src/redis-server /usr/local/redis-cluster/6001/redis.conf
/usr/local/redis/redis-5.0.8/src/redis-server /usr/local/redis-cluster/6002/redis.conf
/usr/local/redis/redis-5.0.8/src/redis-server /usr/local/redis-cluster/6003/redis.conf
(2) 客戶端連接
/usr/local/redis/redis-5.0.8/src/redis-cli -c -h 192.168.11.10 -p 6001
192.168.11.10:6001> cluster nodes
ae87077a695cecc57f0196e47d561329ca725d4d 192.168.11.10:6003@16003 master - 0 1591414267000 3 connected 10923-16383
4f25757eec50e76d8b74d6cce25987f22be10063 192.168.11.10:6001@16001 myself,master - 0 1591414266000 1 connected 0-5460
228e33659b4323878b1174e211c46bfe2f5ca34a 192.168.11.10:6002@16002 master - 0 1591414268393 2 connected 5461-10922
結論:集群正常
二、搭建將要添加到集群的節點:
1. 待添加到集群的節點,文件結構
[root@localhost src]# cd /usr/local/redis-cluster/
[root@localhost redis-cluster]# ls
7001 7002 7003
[root@localhost redis-cluster]# cd 7001
[root@localhost 7001]# ls
redis.conf
2. 修改集群節點的配置文件 redis.conf
(1)daemonize no ——> daemonize yes
(2)port 6379 修改為對應節點目錄的端口號(本次修改為7001 7002 7003)
(3)bind 127.0.0.1 ——> bind 當前機器的IP地址(本次為 192.168.11.11)
(4) dir 這一行 指定數據文件的存放路徑。設置為各個節點下的目錄。目錄結構類似為"/usr/local/redis/redis-cluster/節點目錄/" (本次為 dir /usr/local/redis/redis-cluster/7001/)
(5)啟動集群模式。cluster-enabled ——> cluster-enabled yes
(6)設置集群的配置文件路徑 。cluster-config-file nodes***.conf。***代表每個節點的目錄對應的位置。本次修改為7001
(7)修改appendonly 為yes 。然后按照7001節點配置格式分別修改7002,7003這幾個節點的配置文件
3.編譯redis
在redis目錄下,執行 make
[root@localhost ~]# cd /usr/local/redis/redis-6.0.3/
[root@localhost redis-6.0.3]# make
4. 發現 在 redis-6.0.3/src 下 多了不少文件 尤其增添了 redis-server (操作服務端)、redis-cli(操作客戶端)
(1)啟動服務【命令在待添加節點所在的服務器執行】:/usr/local/redis/redis-6.0.3/src/redis-server /usr/local/redis-cluster/7001/redis.conf
(2)添加節點到指定節點下,作為其(192.168.11.10:6001)slave節點【命令在集群服務器執行】:/usr/local/redis/redis-5.0.8/src/redis-cli --cluster add-node 192.168.11.11:7001 192.168.11.10:6001 --cluster-slave --cluster-master-id 4f25757eec50e76d8b74d6cce25987f22be10063
(3)查驗【新添加的節點所在的服務器、也可以在集群服務器(注意路徑)】:
[root@localhost src]# /usr/local/redis/redis-6.0.3/src/redis-cli -c -h 192.168.11.11 -p 7001
192.168.11.11:7001> cluster nodes
27a1958f412a5ea7edaa364ab0079af27310afdd 192.168.11.11:7001@17001 myself,slave 4f25757eec50e76d8b74d6cce25987f22be10063 0 1591416650000 0 connected
228e33659b4323878b1174e211c46bfe2f5ca34a 192.168.11.10:6002@16002 master - 0 1591416652000 2 connected 5461-10922
ae87077a695cecc57f0196e47d561329ca725d4d 192.168.11.10:6003@16003 master - 0 1591416652582 3 connected 10923-16383
4f25757eec50e76d8b74d6cce25987f22be10063 192.168.11.10:6001@16001 master - 0 1591416653587 1 connected 0-5460