Redis集群搭建(动态扩缩容、踩坑经验)
题记:
文章内容输出来源:拉勾教育Java高薪训练营。
本篇文章是 Redis 学习课程中的一部分笔记。
Redis集群搭建(动态扩缩容、踩坑经验)
1、准备一台sentos7虚拟机
192.168.80.129
2、去官网下载最新redis5安装包
redis-5.0.8.tar.gz
3、创建redis文件夹并上传redis安装包
mkdir -p /home/db/redis
4、解压
tar -zxvf redis-5.0.8.tar.gz
5、安装
cd /redis-5.0.8/src
make
6、复制配置文件
cd /home/db/redis
cp /redis-5.0.8/redis.conf redis-7000.conf
7、修改配置文件
vim redis-7000.conf
#注释掉bind 127.0.0.1
#bind 127.0.0.1
protected-mode no
port 7000
daemonize yes
pidfile /var/run/redis_7000.pid
cluster-enabled yes
cluster-config-file nodes-7000.conf
8、复制配置文件从redis-7000.conf到redis-7007.conf,总共8个,并修改对应端口
9、创建启动脚本
vim redis-cluster-start.sh
./redis-5.0.8/src/redis-server redis-7000.conf
./redis-5.0.8/src/redis-server redis-7001.conf
./redis-5.0.8/src/redis-server redis-7002.conf
./redis-5.0.8/src/redis-server redis-7003.conf
./redis-5.0.8/src/redis-server redis-7004.conf
./redis-5.0.8/src/redis-server redis-7005.conf
./redis-5.0.8/src/redis-server redis-7006.conf
./redis-5.0.8/src/redis-server redis-7007.conf
10、启动所有节点
sh redis-cluster-start.sh
11、创建集群命(此时只创建7000到7005)
./redis-5.0.8/src/redis-cli --cluster create 192.168.80.129:7000 192.168.80.129:7001 192.168.80.129:7002 192.168.80.129:7003 192.168.80.129:7004 192.168.80.129:7005 --cluster-replicas 1
12、验证集群创建成功
./redis-5.0.8/src/redis-cli -p 7000 -c
cluster nodes
13、添加主节点(扩容)
./redis-5.0.8/src/redis-cli --cluster add-node 192.168.80.129:7006 192.168.80.129:7000
14、重新分配哈希槽
./redis-5.0.8/src/redis-cli --cluster reshard 192.168.80.129:7000 --cluster-from 374a5fc11ba7a5d9f88fd20b4ca75bbd65433290 --cluster-to bf674349992c3b9b8d0ac42dfa788f2230597fcc --cluster-slots 1024
15、添加从节点命令
./redis-5.0.8/src/redis-cli --cluster add-node 192.168.80.129:7007 192.168.80.129:7000 --cluster-slave --cluster-master-id 374a5fc11ba7a5d9f88fd20b4ca75bbd65433290
16、验证集群扩容成功
cluster nodes
以下为扩展内容:
17、删除主节点(缩容)
./redis-5.0.8/src/redis-cli --cluster del-node 192.168.80.129:7006 33ce551fde006370da238a6470a6eb529d667d45
18、重新分配哈希槽
./redis-5.0.8/src/redis-cli --cluster reshard 192.168.80.129:7000 --cluster-from 374a5fc11ba7a5d9f88fd20b4ca75bbd65433290 --cluster-to bf674349992c3b9b8d0ac42dfa788f2230597fcc --cluster-slots 1024
19、验证集群缩容成功
cluster nodes
踩坑经验:
如果创建集群或扩容时报如下错误:
[ERR] Node 192.168.80.129:7000 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
说明该集群或节点已经创建过,需要删除所有对应的conf配置文件并重新创建对应配置,并且删除appendonly.aof和dump.rdb,然后在执行相应操作,如下图所示:
至此,结束
最后
在这个知识付费的时代,每一位热爱技术分享、奋笔直书的人,都值得我们尊敬!所以,请不要吝啬您手中的鼠标,按下左键,为小编点个赞吧。
更多内容,请关注微信公众号:架构视角
特别鸣谢
感谢老猫老师风趣幽默的讲解,让我对所学知识点记忆深刻!
感谢木槿导师的认真和负责,每一次作业点评都是我前进的动力!
感谢班主任毕老师的负责和耐心,每次不厌其烦的上课通知都是我不忘初心,保持良好学习状态的精神支柱!
感谢拉勾教育平台,给我这次花少量的钱就能报名第一期拉钩训练营,就能学习到很多深层次的技术精华的机会。而且,在学习过程中还认识了很多技术大佬,可以请教他们一些问题,比如张大佬、卢大佬、雨生大佬等等。。
本文地址:https://blog.csdn.net/weixin_41018580/article/details/107447581
上一篇: 一个超时功能的设计
下一篇: JS--排序算法之计数和基数排序