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

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 要删除的节点












添加 Redis节点,您需要执行以下步骤: 1. 首先,启动一个新的 Redis 实例,并将其配置为从节点。假设您已经安装了 Redis,可以通过以下命令启动一个新的 Redis 实例: ``` redis-server /path/to/redis.conf --port 6381 --slaveof master_node_ip master_node_port ``` 在此命令中,您需要将 `/path/to/redis.conf` 替换为您的 Redis 配置文件路径,`--port` 参数指定了新 Redis 实例的端口号,`--slaveof` 参数指定了新 Redis 实例的主节点 IP 地址和端口号。 2. 然后,将新的 Redis节点添加集群中。您可以使用 `redis-cli` 工具执行此操作。假设您已经有一个包含多个节点Redis 集群,并且其中一个节点的 IP 地址为 `192.168.1.100`,可以使用以下命令将新的 Redis节点添加集群中: ``` redis-cli --cluster add-node new_node_ip:new_node_port existing_node_ip:existing_node_port --cluster-slave --cluster-master-id master_id ``` 在此命令中,`new_node_ip` 和 `new_node_port` 分别是新 Redis 节点的 IP 地址和端口号,`existing_node_ip` 和 `existing_node_port` 则是集群中已有节点的 IP 地址和端口号。`--cluster-slave` 参数指定了新节点是从节点,`--cluster-master-id` 参数指定了新节点的主节点 ID,您需要将其替换为实际的主节点 ID。 3. 最后,将新节点加入到主节点的从节点列表中。您可以使用以下命令将新节点加入到主节点的从节点列表中: ``` redis-cli --cluster replicate master_id new_node_ip:new_node_port ``` 在此命令中,`master_id` 是主节点的 ID,您需要将其替换为实际的主节点 ID,`new_node_ip` 和 `new_node_port` 分别是新 Redis 节点的 IP 地址和端口号。 完成以上步骤后,您已经成功地将新的 Redis节点添加集群中,并将其加入到主节点的从节点列表中。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值