redis-cluster集群添加节点、删除节点
2017-05-15 15:01
766 查看
原文地址,转载请注明出处:
http://blog.csdn.net/qq_34021712/article/details/72150526
©王赛超
重新启动三个master节点后重新执行脚本来搭建集群
redis-trib.rb add-node 192.168.17.168:7004 192.168.17.168:7001
注释:
192.168.17.168:7004是新增的节点
192.168.17.168:7001是集群中任一旧节点
2)连接集群,执行cluster nodes 查看集群状态
3)显示已经添加到集群中,但是并没有哈希槽,给他分配哈希槽
./redis-trib.rb reshard 192.168.17.168:7001 #这个节点是集群中任一节点都可以,只要能连上就可以
过程:
How many slots do you want to move (from 1 to 16384)? 1000 #输入1000表示要移动1000个哈希槽
What is the receiving node ID? #把这1000个哈希槽给谁呢?输入7004节点对应的id
Source node #1: all #输入all表示从所有的哈希槽拥有者中抽取1000个给7004节点
也可以从固定的节点中拿100个 Source node #1: 339a50df26f4722f14faba2a8fe3cad508059e88 #输入某个节点的id表示 从该节点上拿1000个 给7004这个节点 然后再执行done命令
我们选择all 摁回车会展示分配槽的信息,再输入yes 回车就分配完成了。
1)添加为从节点
./redis-trib.rb add-node --slave --master-id 339a50df26f4722f14faba2a8fe3cad508059e88 192.168.17.168:7005 192.168.17.168:7001
注释:
--slave,表示添加的是从节点
--master-id 339a50df26f4722f14faba2a8fe3cad508059e88,主节点的node id,这个id是7001的节点id 表示将新节点添加为7001的slave
192.168.17.168:7005,新节点
192.168.17.168:7001集群任一个旧节点
添加slave 不需要分配哈希槽
2)连接7005端口
./redis-cli -h 192.168.17.168 -p 7005 -c #连接要修改的从节点
3)移动到新的主节点
cluster replicate 3dd56b46572e1d1c1edece5e73ff4edf54485b09 #3dd56b46572e1d1c1edece5e73ff4edf54485b09为新的主节点node id
./redis-trib.rb del-node 192.168.17.168:7005 081057b99f96b02ecad64ce6e4ab92c9d494a170
注释:
192.168.17.168:7005 要删除的从节点IP 端口号
081057b99f96b02ecad64ce6e4ab92c9d494a170 要删除从节点的 node id
如果主节点有slot,去掉分配的slot,然后在删除主节点
1)我们移除上面添加的7004主节点
2)取消分配的slot,下面是主要过程
./redis-trib.rb reshard 192.168.17.168:7004 #要移除的主节点ip 端口号
过程:
How many slots do you want to move (from 1 to 16384)? 1000 #移除多少个哈希槽,7004有1000个 全部移走
What is the receiving node ID? 339a50df26f4722f14faba2a8fe3cad508059e88 //接收7004节点slot的master 我们用7001来接收
Source node #1:d33aba61b519cbc0b5d7f33b825863d8f78a8925 //被删除master的node-id
Source node #2:done
Do you want to proceed with the proposed reshard plan (yes/no)? yes //取消slot后,reshard
3)执行第二步之后,7004节点的哈希槽就没有了,然后删除该7004节点
./redis-trib.rb del-node 192.168.17.168:7004 d33aba61b519cbc0b5d7f33b825863d8f78a8925
http://blog.csdn.net/qq_34021712/article/details/72150526
©王赛超
1.添加节点
1.1:重新搭建集群
之前安装的集群有三个节点,每个节点有一备份节点。为了方便测试,将之前的每个redis节点下的dump.rdb 和nodes.conf删掉,重新搭建一个只有三个master的集群(7001,7002,7003)重新启动三个master节点后重新执行脚本来搭建集群
./redis-trib.rb create --replicas 0 192.168.17.168:7001 192.168.17.168:7002 192.168.17.168:7003
1.2:启动7004节点,添加为主节点
1)添加为主节点redis-trib.rb add-node 192.168.17.168:7004 192.168.17.168:7001
注释:
192.168.17.168:7004是新增的节点
192.168.17.168:7001是集群中任一旧节点
2)连接集群,执行cluster nodes 查看集群状态
3)显示已经添加到集群中,但是并没有哈希槽,给他分配哈希槽
./redis-trib.rb reshard 192.168.17.168:7001 #这个节点是集群中任一节点都可以,只要能连上就可以
过程:
How many slots do you want to move (from 1 to 16384)? 1000 #输入1000表示要移动1000个哈希槽
What is the receiving node ID? #把这1000个哈希槽给谁呢?输入7004节点对应的id
Source node #1: all #输入all表示从所有的哈希槽拥有者中抽取1000个给7004节点
也可以从固定的节点中拿100个 Source node #1: 339a50df26f4722f14faba2a8fe3cad508059e88 #输入某个节点的id表示 从该节点上拿1000个 给7004这个节点 然后再执行done命令
我们选择all 摁回车会展示分配槽的信息,再输入yes 回车就分配完成了。
1.3:启动7005节点,添加为从节点
之前的7004已经添加为master了就不动它了1)添加为从节点
./redis-trib.rb add-node --slave --master-id 339a50df26f4722f14faba2a8fe3cad508059e88 192.168.17.168:7005 192.168.17.168:7001
注释:
--slave,表示添加的是从节点
--master-id 339a50df26f4722f14faba2a8fe3cad508059e88,主节点的node id,这个id是7001的节点id 表示将新节点添加为7001的slave
192.168.17.168:7005,新节点
192.168.17.168:7001集群任一个旧节点
添加slave 不需要分配哈希槽
2.改变从节点的master
1)比如我们要将刚才的将7005添加为7001的从节点,现在将他修改为7003的从节点2)连接7005端口
./redis-cli -h 192.168.17.168 -p 7005 -c #连接要修改的从节点
3)移动到新的主节点
cluster replicate 3dd56b46572e1d1c1edece5e73ff4edf54485b09 #3dd56b46572e1d1c1edece5e73ff4edf54485b09为新的主节点node id
3.删除节点
3.1删除从节点
1)直接删除就可以了./redis-trib.rb del-node 192.168.17.168:7005 081057b99f96b02ecad64ce6e4ab92c9d494a170
注释:
192.168.17.168:7005 要删除的从节点IP 端口号
081057b99f96b02ecad64ce6e4ab92c9d494a170 要删除从节点的 node id
3.2删除主节点
如果主节点有从节点,将从节点转移到其他主节点如果主节点有slot,去掉分配的slot,然后在删除主节点
1)我们移除上面添加的7004主节点
2)取消分配的slot,下面是主要过程
./redis-trib.rb reshard 192.168.17.168:7004 #要移除的主节点ip 端口号
过程:
How many slots do you want to move (from 1 to 16384)? 1000 #移除多少个哈希槽,7004有1000个 全部移走
What is the receiving node ID? 339a50df26f4722f14faba2a8fe3cad508059e88 //接收7004节点slot的master 我们用7001来接收
Source node #1:d33aba61b519cbc0b5d7f33b825863d8f78a8925 //被删除master的node-id
Source node #2:done
Do you want to proceed with the proposed reshard plan (yes/no)? yes //取消slot后,reshard
3)执行第二步之后,7004节点的哈希槽就没有了,然后删除该7004节点
./redis-trib.rb del-node 192.168.17.168:7004 d33aba61b519cbc0b5d7f33b825863d8f78a8925
相关文章推荐
- Redis集群cluster 节点 添加 删除 重分配
- redis的集群,添加和删除节点
- redis cluster中添加删除重分配节点例子
- redis集群操作-添加节点和删除节点
- redis cluster 添加删除节点
- redis cluster中添加删除重分配节点例子
- redis集群(单机模拟)动态添加、删除节点
- Redis集群环境中添加和删除节点
- Redis集群动态添加和删除节点
- redis 集群之动态添加redis节点,删除指定ID的redis节点,以及查看redis集群中各个节点的信息
- redis cluster 添加 删除 重分配 节点
- Redis向集群节点添加、删除和分配slot(安装部署时)
- ceph cluster添加/删除mon节点(ceph-deploy)
- Hadoop2.6集群动态添加和删除数据节点
- Hadoop2.x集群动态添加删除数据节点
- redis集群节点新增、删除、重新分配slot实战
- 018redis3.0集群添加节点
- Redis集群管理之Redis Cluster集群节点增减
- 添加和删除hadoop集群中的节点
- Hadoop学习3_在HADOOP集群中添加节点和删除节点