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

Redis集群搭建(动态扩缩容、踩坑经验)_第1张图片
在这里插入图片描述

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集群搭建(动态扩缩容、踩坑经验)_第2张图片

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,然后在执行相应操作,如下图所示:
Redis集群搭建(动态扩缩容、踩坑经验)_第3张图片

至此,结束


最后

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

特别鸣谢

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

你可能感兴趣的:(分布式,redis,redis,分布式)