A4-2-Linux下 Redis 集群使用(二)

A4-2-Linux下 Redis 集群使用(二)

集群操作

一、查看集群信息

  • cluster info 查看集群状态,槽分配,集群大小等
  • cluster nodes 也可查看主从节点。
  • ./redis-cli --cluster check 10.0.0.12:20003 检查

二、新增节点

1、新增主节点

创建新实例

 

cd /usr/local/redis-cluster

cp -r redis-02 reids-08

sed -i -e "s\pidfile /var/run/redis_6379.pid/pidfile /var/run/redis_30008.pid\g" /usr/local/redis-cluster/redis-08/redis.conf

sed -i -e "s\redis-02.log\redis-08.log\g" /usr/local/redis-cluster/redis-08/redis.conf

sed -i -e "s\30002\30008\g" /usr/local/redis-cluster/redis-08/redis.conf

sed -i -e "s\nodes-02.conf\nodes-08.conf\g" /usr/local/redis-cluster/redis-08/redis.conf

将实例加入集群

参考:https://www.cnblogs.com/shiguotao-com/p/10078379.html

 

./redis-cli --cluster add-node 10.0.0.13:30008 10.0.0.13:30006

分配hash槽

参考:https://www.cnblogs.com/shiguotao-com/p/10078517.html

参考:https://www.cnblogs.com/yanwei-wang/p/5527453.html

随便连接到集群

 

./redis-cli --cluster reshard 10.0.0.13:30008

检查 可发现平均分配共300槽点给了10.0.0.13:30008

2、添加从节点

创建实例redis-10

 

cd /usr/local/redis-cluster

cp -r redis-08 reids-10

cd reids-10/

rm -f dump.rdb

rm -f nodes-08.conf

sed -i -e "s\pidfile /var/run/redis_30008.pid\pidfile /var/run/redis_30010.pid\g" /usr/local/redis-cluster/redis-10/redis.conf

sed -i -e "s\redis-08.log\redis-10.log\g" /usr/local/redis-cluster/redis-10/redis.conf

sed -i -e "s\30008\30010\g" /usr/local/redis-cluster/redis-10/redis.conf

sed -i -e "s\nodes-08.conf\nodes-10.conf\g" /usr/local/redis-cluster/redis-10/redis.conf

启动

添加进集群步骤与主节点一样

 

./redis-cli --cluster add-node 10.0.0.13:30010 10.0.0.13:30006

查看集群信息

将其变为从节点,就给之前的30008吧

参考:https://www.cnblogs.com/hopeofthevillage/p/11535683.html

CLUSTER REPLICATE <30008即指定主节点的ID>

 

CLUSTER REPLICATE 5499e3ecdbe3eb14dcba76682f334c9cb117d038

三、删除节点

参考:https://www.cnblogs.com/yanwei-wang/p/5527453.html

参考:https://blog.csdn.net/hw120219/article/details/97006366

1、删除从节点

redis-cli --cluster del-node <集群中随便一个节点> <目标从节点ID>

删除10.0.0.13:30010

查看节点ID: ./redis-cli --cluster check 10.0.0.13:30008

删除节点

 

redis-cli --cluster del-node 10.0.0.13:30008 d813052b44a9315c4a57f038ac1b189903f24281

再查看已经没有了

2、删除主节点

  • 如果主节点有从节点,将从节点转移到其他主节点
  • 如果主节点有slot,去掉分配的slot,然后在删除主节点

从节点转移:(将30010再次添加至30008。需要将30010在集群中的配置清除)

转移从节点30010

好吧,重新指向就行了。。。┭┮﹏┭┮

去掉slot

./redis-cli --cluster reshard <要去掉slot的节点>。。。。其实更分配时一样,只不过在分配时指定的是自己罢了

 

./redis-cli --cluster reshard 10.0.0.13:30008

确认后填入yes

检查,已将槽点清空

再删除即可

 

./redis-cli --cluster del-node 10.0.0.12:20001 5499e3ecdbe3eb14dcba76682f334c9cb117d038

四、总结

从上面过程可以看出,添加节点、分配槽、删除节点的过程,不用停止集群,不阻塞集群的其他操作。命令小结

查看节点

> cluster info 查看集群状态,槽分配,集群大小等

 

cluster info

> cluster nodes 也可查看主从节点。

 

cluster nodes

./redis-cli --cluster check 10.0.0.12:20003 检查

 

./redis-cli --cluster check 10.0.0.12:20003

#向集群中添加节点,10.0.0.13:30008是新增节点,10.0.0.12:20001是集群中已有的节点

 

./redis-cli --cluster add-node 10.0.0.13:30008 10.0.0.12:20001

#重新分配槽

 

./redis-cli --cluster reshard 10.0.0.13:30008

#指定当前的主节点(主节点ID)

 

> cluster replicate cf48228259def4e51e7e74448e05b7a6c8f5713f

#删除节点(节点ID)

 

./redis-cli --cluster del-node 10.0.0.12:20001 5499e3ecdbe3eb14dcba76682f334c9cb117d038

到此,redis的集群搭建、分区原理、集群增加节点以及删除节点的主要内容已经简要介绍完毕。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值