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 要删除的节点
先使用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 要删除的节点
相关文章推荐
- redis的跳跃表
- 【Redis】使用Redis Sentinel实现Redis HA
- windows下控制台连接redis
- keepalived + redis配置
- Redis集群担建
- python使用pipeline读写redis
- Redis & Redis 桌面管理工具Redis Desktop Manager
- redis 数据类型及操作
- Thinkphp中使用Redis
- java 对redis 基本操作
- centos 下 redis 下载与安装
- redis 安装
- Redis中connect和pconnect的区别
- 30个php操作redis常用方法代码例子
- 解决:Redis:java.util.NoSuchElementException: Unable to validate object at
- redis命令参考
- Redis客户端API操作 Jedis详解
- Redis 缓存 + Spring 的集成示例
- PHP使用Redis
- redis BIO详解