欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Redis集群搭建(动态扩缩容、踩坑经验)

程序员文章站 2022-03-10 16:27:37
题记:文章内容输出来源:拉勾教育Java高薪训练营。本篇文章是 Redis 学习课程中的一部分笔记。Redis集群搭建(动态扩缩容、踩坑经验)1、准备一台sentos7虚拟机192.168.80.1292、去官网下载最新redis5安装包redis-5.0.8.tar.gz3、创建redis文件夹并上传redis安装包mkdir -p /home/db/redis4、解压tar -zxvf redis-5.0.8.tar.gz5、安装cd /redis-5.0.8/srcm...

题记:
文章内容输出来源:拉勾教育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

Redis集群搭建(动态扩缩容、踩坑经验)

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

Redis集群搭建(动态扩缩容、踩坑经验)

13、添加主节点(扩容)

./redis-5.0.8/src/redis-cli --cluster add-node 192.168.80.129:7006 192.168.80.129:7000

Redis集群搭建(动态扩缩容、踩坑经验)

14、重新分配哈希槽

./redis-5.0.8/src/redis-cli --cluster reshard 192.168.80.129:7000 --cluster-from 374a5fc11ba7a5d9f88fd20b4ca75bbd65433290 --cluster-to bf674349992c3b9b8d0ac42dfa788f2230597fcc --cluster-slots 1024

Redis集群搭建(动态扩缩容、踩坑经验)
Redis集群搭建(动态扩缩容、踩坑经验)

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

Redis集群搭建(动态扩缩容、踩坑经验)

16、验证集群扩容成功

cluster nodes

Redis集群搭建(动态扩缩容、踩坑经验)

以下为扩展内容:


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.
Redis集群搭建(动态扩缩容、踩坑经验)

说明该集群或节点已经创建过,需要删除所有对应的conf配置文件并重新创建对应配置,并且删除appendonly.aof和dump.rdb,然后在执行相应操作,如下图所示:
Redis集群搭建(动态扩缩容、踩坑经验)

至此,结束


最后

在这个知识付费的时代,每一位热爱技术分享、奋笔直书的人,都值得我们尊敬!所以,请不要吝啬您手中的鼠标,按下左键,为小编点个赞吧。
更多内容,请关注微信公众号:架构视角

特别鸣谢

感谢老猫老师风趣幽默的讲解,让我对所学知识点记忆深刻!
感谢木槿导师的认真和负责,每一次作业点评都是我前进的动力!
感谢班主任毕老师的负责和耐心,每次不厌其烦的上课通知都是我不忘初心,保持良好学习状态的精神支柱!
感谢拉勾教育平台,给我这次花少量的钱就能报名第一期拉钩训练营,就能学习到很多深层次的技术精华的机会。而且,在学习过程中还认识了很多技术大佬,可以请教他们一些问题,比如张大佬、卢大佬、雨生大佬等等。。

本文地址:https://blog.csdn.net/weixin_41018580/article/details/107447581

相关标签: 分布式 redis