您的位置:首页 > 数据库 > Redis

redis的集群,添加和删除节点

2016-07-12 17:01 1186 查看
redis的集群

先使用create 参数 再加--replicas 后面接上数字,表示一个主需要几个从
集群一般需要3个主节点以上(包括3个)
./redis-trib.rb create --replicas 1 192.168.1.12:9000 192.168.1.12:9001 192.168.1.12:9002 192.168.1.12:9003 192.168.1.12:9004 192.168.1.12:9005

检查集群状态
./redis-trib.rb check 192.168.1.12:9000

./redis-cli -c -p 9000表示以集群的方式连接redis,如果这个节点上没有我需要的数据,它内部会实现move跳转,在集群里查找我的数据。

CLUSTER INFO
打印出集群信息

添加节点
在创建集群的时候,全部的插槽16384以平均分配了,所以在添加新的主节点的时候需要重新分配插槽,并转移插槽的数据,有两种方式
一:利用redis-trib.rb这个工具批量默认转移。
二:手动,cluster这个命令,一个插槽一个key这样转移。
我果断用第一种
添加步骤:
1:先启动需要添加的节点服务,在上面创建的时候我们默认一个主一个从的方式,所以至少是两个节点,
2:利用redis-trib.rb执行集群添加节点

./redis-trib.rb add-node 192.168.1.12:9006 192.168.1.12:9000

192.168.1.12:9006 为新添加的节点

192.168.1.12:9000 为集群中任意一个老节点

它这里需要一个身份验证,添加的节点默认为主节点
3:为新的主节点添加从节点

./redis-trib.rb add-node --slave --master-id
03ccad2ba5dd1e062464bc7590400441fafb63f2 192.168.1.12:9007 192.168.1.12:9000

--slave 表示添加的是从节点

--master-id 03ccad2ba5dd1e062464bc7590400441fafb63f2,主节点的nodeid,这个id是刚才192.168.1.12:9006的nodeid

192.168.1.12:9007 新节点

192.168.1.12:9000 为集群中任意一个老节点
4:为添加的主节点分配插槽(slot)

./redis-trib.rb reshard 192.168.1.12:9000

reshard 表示重新分配slot

192.168.1.12:9000 为集群中任意一个老节点

接下来就是交互式操作,根据提示操作就行了
5:检查集群状态

./redis-trib.rb check 192.168.1.12:9000

192.168.1.12:9000 为集群中任意一个老节点

删除节点,同理,先转移要删除节点上的插槽,再执行

./redis-trib.rb del-node 192.168.1.12:9006

192.168.1.12:9006 要删除的节点
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: