在虚拟机上新建两个6387,6388服务配置文件,新建之后启动
- [root@redis-cluster1 cluster]# cat redisCluster6387.conf
- bind 0.0.0.0
- daemonize yes
- protected-mode no
- logfile "/myredis/cluster/cluster6387.log"
- pidfile /myredis/cluster6387.pid
- dir /myredis/cluster
- dbfilename dump6387.rdb
- appendonly yes
- appendfilename "appendonly6387.aof"
- requirepass 111111
- masterauth 111111
- port 6387
- cluster-enabled yes
- cluster-config-file nodes-6387.conf
- cluster-node-timeout 5000
- [root@redis-cluster1 cluster]# cat redisCluster6388.conf
- bind 0.0.0.0
- daemonize yes
- protected-mode no
- logfile "/myredis/cluster/cluster6388.log"
- pidfile /myredis/cluster6388.pid
- dir /myredis/cluster
- dbfilename dump6388.rdb
- appendonly yes
- appendfilename "appendonly6388.aof"
- requirepass 111111
- masterauth 111111
- port 6388
- cluster-enabled yes
- cluster-config-file nodes-6388.conf
- cluster-node-timeout 5000
复制代码 启动87,88两个服务,此时他们都是master,没有加入集群
- [root@redis-cluster1 cluster]# redis-server redisCluster6387.conf
- [root@redis-cluster1 cluster]# redis-server redisCluster6388.conf
- [root@redis-cluster1 cluster]# ps -ef | grep redis
- root 2038 1 0 15:31 ? 00:00:31 redis-server 0.0.0.0:6386 [cluster]
- root 2221 1 0 15:47 ? 00:00:24 redis-server 0.0.0.0:6385 [cluster]
- root 2327 1753 0 16:01 pts/0 00:00:00 redis-cli -a 111111 -p 6385
- root 2472 1 0 16:44 ? 00:00:00 redis-server 0.0.0.0:6387 [cluster]
- root 2479 1 0 16:44 ? 00:00:00 redis-server 0.0.0.0:6388 [cluster]
- root 2486 1954 0 16:44 pts/1 00:00:00 grep --color=auto redis
- [root@redis-cluster1 cluster]# redis-cli -a 111111 -p 6387
- Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
- 127.0.0.1:6387>
- 127.0.0.1:6387>
- 127.0.0.1:6387> cluster nodes
- 494e60980fac86000312e544f71c0e835bc1445b :6387@16387 myself,master - 0 0 0 connected
- 127.0.0.1:6387>
复制代码 将新增的6387节点作为master加入原集群
将新增的6387作为master节点加入原有集群
redis-cli -a 密码 --cluster add-node,自己实际IP地址:6387 自己实际IP地址:6381
6387 就是将要作为master新增节点
6381 就是原来集群节点里面的领路人,相当于6387拜拜6381的码头从而找到组织加入集群redis-cli -a 111111 --cluster add-node 192.168.111.174:6387 192.168.111.175:6381- [root@redis-cluster1 cluster]# redis-cli -a 111111 --cluster add-node 192.168.58.212:6387 192.168.58.129:6381
- Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
- >>> Adding node 192.168.58.212:6387 to cluster 192.168.58.129:6381
- >>> Performing Cluster Check (using node 192.168.58.129:6381)
- M: ba40235fdad71fb36c3bf165ea51055825d453c2 192.168.58.129:6381
- slots:[0-5460] (5461 slots) master
- 1 additional replica(s)
- S: fedf4b13be2122f44dde749a08c4b943582b3566 192.168.58.129:6382
- slots: (0 slots) slave
- replicates be191621d4aa881d864a113c385d58b751753392
- S: 91cf395e8f04a5df1aeec4602dd38b3e4a708d55 192.168.58.130:6384
- slots: (0 slots) slave
- replicates ba40235fdad71fb36c3bf165ea51055825d453c2
- M: 0a820807a70885c1d87d141824d3869dcf2418ee 192.168.58.130:6383
- slots:[5461-10922] (5462 slots) master
- 1 additional replica(s)
- M: be191621d4aa881d864a113c385d58b751753392 192.168.58.212:6385
- slots:[10923-16383] (5461 slots) master
- 1 additional replica(s)
- S: 30e5bdec200a671e4de666551d4489f0035235ba 192.168.58.212:6386
- slots: (0 slots) slave
- replicates 0a820807a70885c1d87d141824d3869dcf2418ee
- [OK] All nodes agree about slots configuration.
- >>> Check for open slots...
- >>> Check slots coverage...
- [OK] All 16384 slots covered.
- >>> Getting functions from cluster
- >>> Send FUNCTION LIST to 192.168.58.212:6387 to verify there is no functions in it
- >>> Send FUNCTION RESTORE to 192.168.58.212:6387
- >>> Send CLUSTER MEET to node 192.168.58.212:6387 to make it join the cluster.
- [OK] New node added correctly.
复制代码 第一次检查集群状态:
6387还没有被分配槽位- [root@redis-cluster1 cluster]# redis-cli -a 111111 --cluster check 192.168.58.129:6381
- Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
- 192.168.58.129:6381 (ba40235f...) -> 0 keys | 5461 slots | 1 slaves.
- 192.168.58.130:6383 (0a820807...) -> 0 keys | 5462 slots | 1 slaves.
- 192.168.58.212:6385 (be191621...) -> 0 keys | 5461 slots | 1 slaves.
- 192.168.58.212:6387 (494e6098...) -> 0 keys | 0 slots | 0 slaves.
- [OK] 0 keys in 4 masters.
- 0.00 keys per slot on average.
- >>> Performing Cluster Check (using node 192.168.58.129:6381)
- M: ba40235fdad71fb36c3bf165ea51055825d453c2 192.168.58.129:6381
- slots:[0-5460] (5461 slots) master
- 1 additional replica(s)
- S: fedf4b13be2122f44dde749a08c4b943582b3566 192.168.58.129:6382
- slots: (0 slots) slave
- replicates be191621d4aa881d864a113c385d58b751753392
- S: 91cf395e8f04a5df1aeec4602dd38b3e4a708d55 192.168.58.130:6384
- slots: (0 slots) slave
- replicates ba40235fdad71fb36c3bf165ea51055825d453c2
- M: 0a820807a70885c1d87d141824d3869dcf2418ee 192.168.58.130:6383
- slots:[5461-10922] (5462 slots) master
- 1 additional replica(s)
- M: be191621d4aa881d864a113c385d58b751753392 192.168.58.212:6385
- slots:[10923-16383] (5461 slots) master
- 1 additional replica(s)
- S: 30e5bdec200a671e4de666551d4489f0035235ba 192.168.58.212:6386
- slots: (0 slots) slave
- replicates 0a820807a70885c1d87d141824d3869dcf2418ee
- M: 494e60980fac86000312e544f71c0e835bc1445b 192.168.58.212:6387
- slots: (0 slots) master
- [OK] All nodes agree about slots configuration.
- >>> Check for open slots...
- >>> Check slots coverage...
- [OK] All 16384 slots covered.
复制代码 重新分配槽号
16384处于4,因为现在有四个主机;
填写6387的id号;
- [root@redis-cluster1 cluster]# redis-cli -a 111111 --cluster reshard 192.168.58.129:6381
- Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
- >>> Performing Cluster Check (using node 192.168.58.129:6381)
- M: ba40235fdad71fb36c3bf165ea51055825d453c2 192.168.58.129:6381
- slots:[0-5460] (5461 slots) master
- 1 additional replica(s)
- S: fedf4b13be2122f44dde749a08c4b943582b3566 192.168.58.129:6382
- slots: (0 slots) slave
- replicates be191621d4aa881d864a113c385d58b751753392
- S: 91cf395e8f04a5df1aeec4602dd38b3e4a708d55 192.168.58.130:6384
- slots: (0 slots) slave
- replicates ba40235fdad71fb36c3bf165ea51055825d453c2
- M: 0a820807a70885c1d87d141824d3869dcf2418ee 192.168.58.130:6383
- slots:[5461-10922] (5462 slots) master
- 1 additional replica(s)
- M: be191621d4aa881d864a113c385d58b751753392 192.168.58.212:6385
- slots:[10923-16383] (5461 slots) master
- 1 additional replica(s)
- S: 30e5bdec200a671e4de666551d4489f0035235ba 192.168.58.212:6386
- slots: (0 slots) slave
- replicates 0a820807a70885c1d87d141824d3869dcf2418ee
- M: 494e60980fac86000312e544f71c0e835bc1445b 192.168.58.212:6387
- slots: (0 slots) master
- [OK] All nodes agree about slots configuration.
- >>> Check for open slots...
- >>> Check slots coverage...
- [OK] All 16384 slots covered.
- How many slots do you want to move (from 1 to 16384)? 4096
- What is the receiving node ID? 494e60980fac86000312e544f71c0e835bc1445b
- Please enter all the source node IDs.
- Type 'all' to use all the nodes as source nodes for the hash slots.
- Type 'done' once you entered all the source nodes IDs.
- Source node #1: all
- Ready to move 4096 slots.
- Source nodes:
- M: ba40235fdad71fb36c3bf165ea51055825d453c2 192.168.58.129:6381
- slots:[0-5460] (5461 slots) master
- 1 additional replica(s)
- M: 0a820807a70885c1d87d141824d3869dcf2418ee 192.168.58.130:6383
- slots:[5461-10922] (5462 slots) master
- 1 additional replica(s)
- M: be191621d4aa881d864a113c385d58b751753392 192.168.58.212:6385
- slots:[10923-16383] (5461 slots) master
- 1 additional replica(s)
- Destination node:
- M: 494e60980fac86000312e544f71c0e835bc1445b 192.168.58.212:6387
- slots: (0 slots) master
- Resharding plan:
复制代码 再次查看集群状态
四个主节点均已被分配槽位;
当前状态为三主三从,一主零从- [root@redis-cluster1 cluster]# redis-cli -a 111111 --cluster check 192.168.58.129:6381
- Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
- 192.168.58.129:6381 (ba40235f...) -> 0 keys | 4096 slots | 1 slaves.
- 192.168.58.130:6383 (0a820807...) -> 0 keys | 4096 slots | 1 slaves.
- 192.168.58.212:6385 (be191621...) -> 0 keys | 4096 slots | 1 slaves.
- 192.168.58.212:6387 (494e6098...) -> 0 keys | 4096 slots | 0 slaves.
- [OK] 0 keys in 4 masters.
- 0.00 keys per slot on average.
- >>> Performing Cluster Check (using node 192.168.58.129:6381)
- M: ba40235fdad71fb36c3bf165ea51055825d453c2 192.168.58.129:6381
- slots:[1365-5460] (4096 slots) master
- 1 additional replica(s)
- S: fedf4b13be2122f44dde749a08c4b943582b3566 192.168.58.129:6382
- slots: (0 slots) slave
- replicates be191621d4aa881d864a113c385d58b751753392
- S: 91cf395e8f04a5df1aeec4602dd38b3e4a708d55 192.168.58.130:6384
- slots: (0 slots) slave
- replicates ba40235fdad71fb36c3bf165ea51055825d453c2
- M: 0a820807a70885c1d87d141824d3869dcf2418ee 192.168.58.130:6383
- slots:[6827-10922] (4096 slots) master
- 1 additional replica(s)
- M: be191621d4aa881d864a113c385d58b751753392 192.168.58.212:6385
- slots:[12288-16383] (4096 slots) master
- 1 additional replica(s)
- S: 30e5bdec200a671e4de666551d4489f0035235ba 192.168.58.212:6386
- slots: (0 slots) slave
- replicates 0a820807a70885c1d87d141824d3869dcf2418ee
- M: 494e60980fac86000312e544f71c0e835bc1445b 192.168.58.212:6387
- slots:[0-1364],[5461-6826],[10923-12287] (4096 slots) master
- [OK] All nodes agree about slots configuration.
- >>> Check for open slots...
- >>> Check slots coverage...
- [OK] All 16384 slots covered.
复制代码 为主节点87分配从节点88
- [root@redis-cluster1 cluster]# redis-cli -a 111111 --cluster add-node 192.168.58.212:6388 192.168.58.212:6387 --cluster-slave --cluster-master-id 494e60980fac86000312e544f71c0e835bc1445b
复制代码 --cluster-master-id 494e60980fac86000312e544f71c0e835bc1445b :主节点id号
再次查看当前的集群状态:- 127.0.0.1:6385> cluster nodes
- 0a820807a70885c1d87d141824d3869dcf2418ee 192.168.58.130:6383@16383 master - 0 1733303488000 3 connected 6827-10922
- 91cf395e8f04a5df1aeec4602dd38b3e4a708d55 192.168.58.130:6384@16384 slave ba40235fdad71fb36c3bf165ea51055825d453c2 0 1733303487073 1 connected
- be191621d4aa881d864a113c385d58b751753392 192.168.58.212:6385@16385 myself,master - 0 0 8 connected 12288-16383
- 30e5bdec200a671e4de666551d4489f0035235ba 192.168.58.212:6386@16386 slave 0a820807a70885c1d87d141824d3869dcf2418ee 0 1733303488559 3 connected
- ba40235fdad71fb36c3bf165ea51055825d453c2 192.168.58.129:6381@16381 master - 0 1733303488000 1 connected 1365-5460
- c26c4f5ec9882083544326df9249fa48e35c6a2a 192.168.58.212:6388@16388 slave 494e60980fac86000312e544f71c0e835bc1445b 0 1733303488345 9 connected
- 494e60980fac86000312e544f71c0e835bc1445b 192.168.58.212:6387@16387 master - 0 1733303488675 9 connected 0-1364 5461-6826 10923-12287
- fedf4b13be2122f44dde749a08c4b943582b3566 192.168.58.129:6382@16382 slave be191621d4aa881d864a113c385d58b751753392 0 1733303488106 8 connected
- 127.0.0.1:6385>
复制代码 四主四从,集群扩容完成!- [root@redis-cluster1 cluster]# redis-cli -a 111111 --cluster check 192.168.58.129:6381
- Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
- 192.168.58.129:6381 (ba40235f...) -> 0 keys | 4096 slots | 1 slaves.
- 192.168.58.212:6387 (494e6098...) -> 0 keys | 4096 slots | 1 slaves.
- 192.168.58.130:6383 (0a820807...) -> 0 keys | 4096 slots | 1 slaves.
- 192.168.58.212:6385 (be191621...) -> 0 keys | 4096 slots | 1 slaves.
- [OK] 0 keys in 4 masters.
- 0.00 keys per slot on average.
- >>> Performing Cluster Check (using node 192.168.58.129:6381)
- M: ba40235fdad71fb36c3bf165ea51055825d453c2 192.168.58.129:6381
- slots:[1365-5460] (4096 slots) master
- 1 additional replica(s)
- S: 30e5bdec200a671e4de666551d4489f0035235ba 192.168.58.212:6386
- slots: (0 slots) slave
- replicates 0a820807a70885c1d87d141824d3869dcf2418ee
- M: 494e60980fac86000312e544f71c0e835bc1445b 192.168.58.212:6387
- slots:[0-1364],[5461-6826],[10923-12287] (4096 slots) master
- 1 additional replica(s)
- S: fedf4b13be2122f44dde749a08c4b943582b3566 192.168.58.129:6382
- slots: (0 slots) slave
- replicates be191621d4aa881d864a113c385d58b751753392
- M: 0a820807a70885c1d87d141824d3869dcf2418ee 192.168.58.130:6383
- slots:[6827-10922] (4096 slots) master
- 1 additional replica(s)
- S: 91cf395e8f04a5df1aeec4602dd38b3e4a708d55 192.168.58.130:6384
- slots: (0 slots) slave
- replicates ba40235fdad71fb36c3bf165ea51055825d453c2
- M: be191621d4aa881d864a113c385d58b751753392 192.168.58.212:6385
- slots:[12288-16383] (4096 slots) master
- 1 additional replica(s)
- S: c26c4f5ec9882083544326df9249fa48e35c6a2a 192.168.58.212:6388
- slots: (0 slots) slave
- replicates 494e60980fac86000312e544f71c0e835bc1445b
- [OK] All nodes agree about slots configuration.
- >>> Check for open slots...
- >>> Check slots coverage...
- [OK] All 16384 slots covered.
复制代码 到此这篇关于Redis集群扩容的实现示例的文章就介绍到这了,更多相关Redis集群扩容内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
来源:https://www.jb51.net/database/3366640sb.htm
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |