redis 集群(续)

4 篇文章 0 订阅

添加主节点

配置文件 7007 /redis.conf
启动
在添加之前首先要像 7001-6 一样,修改配置文件,启动 7007 服务
/usr/redis/bin/redis-cli --cluster add-node 192.168.206.131:7007 192.1 68.206.131:7002
前面的 IP 加端口号是要添加的 redis 节点,后面的 IP 和端口号是集群中的任意一个节点。

 配置从节点

 添加从节点之前需要设置从节点并启动节点

创建一个7008从节点
--cluster-master-id 为从节点对应主节点的id
/usr/java/redis/bin/redis-cli --cluster add-node 192.168.206.131:7008 192.
168.206.131:7002 --cluster-slave --cluster-master-id 67211a02cffe48ee719
7092ca48e9e7294dc5961

添加的主节点还不能使用,因为没有分配slots

重新分配slots

/usr/java/redis/bin/redis-cli --cluster reshard 192.168.206.131:7002  

all 代表从所有有数据据节点进行迁移到目的节点,也可以选择 目标节点 id 回车,最后以 done
进行结束
done 代表结束
删除节点
--cluster del-node 集群 节点id
删除主节点需要先使用 reshard 把主节点的slots移到其他节点才可以
/usr/java/redis/bin/redis-cli --cluster del-node 192.168.159.34:7002 6721 1a02cffe48ee7197092ca48e9e7294dc5961

 故障检测

 

验证集群是否生效
关闭一个主节点查看对应的备用节点是不是能够顶替主节点成为主节点存/取数据的时候查看对应的端口号
(关闭主节点以后需要耐心等待一会儿 让他重新分配一下空间)

 /usr/java/redis/bin/redis-cli -h 192.168.159.34 -p 7001 shutdown

查看主从关系

 关闭7001

 

 查看7004是否成为了主节点

 

 7001重新启动

 变为了从机

 

 添加数据测试一下集群

 一键启动脚本 一键关闭脚本

touch my-start-stop.sh

#! /bin/sh
l=`ps -ef|grep -w redis|grep -v grep|wc -l`
if [ $l == 0 ]
then
echo "redis 还没有启动,开始启动。。。。 "
/usr/java/redis/bin/redis-server /usr/java/redis_cluster/7001/redis.conf
/usr/java/redis/bin/redis-server /usr/java/redis_cluster/7002/redis.conf
/usr/java/redis/bin/redis-server /usr/java/redis_cluster/7003/redis.conf
/usr/java/redis/bin/redis-server /usr/java/redis_cluster/7004/redis.conf
/usr/java/redis/bin/redis-server /usr/java/redis_cluster/7005/redis.conf
/usr/java/redis/bin/redis-server /usr/java/redis_cluster/7006/redis.conf
echo " 启动成功。。。。。。。。。 "
else
echo "redis 已经启动,开始关闭 ******************************"
/usr/java/redis/bin/redis-cli -h 127.0.0.1 -p 7001 shutdown
/usr/java/redis/bin/redis-cli -h 127.0.0.1 -p 7002 shutdown
/usr/java/redis/bin/redis-cli -h 127.0.0.1 -p 7003 shutdown
/usr/java/redis/bin/redis-cli -h 127.0.0.1 -p 7004 shutdown
/usr/java/redis/bin/redis-cli -h 127.0.0.1 -p 7005 shutdown
/usr/java/redis/bin/redis-cli -h 127.0.0.1 -p 7006 shutdown
echo " 关闭成功 ****************************************"
fi

 集群的失败

 当没有从节点的主节点宕机,集群状态会失败

 

 

 当超过半数的主节点同时宕机,集群状态会失败

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值