1、提前准备好新节点
# 下载安装包
wget https://download.redis.io/releases/redis-6.2.7.tar.gz
#解压
tar zxvf redis-6.2.7.tar.gz
# 依赖包安装
yum -y install gcc
# 安装
cd ./redis-6.2.7
make distclean && make MALLOC=jemalloc && make install
# 启动
redis-server
# systemctl管理
systemctl start redis
vim /usr/lib/systemd/system/redis.service
[Unit]
Description=Redis persistent key-value database
After=network.target
[Service]
WorkingDirectory=/opt/redis
##Type=forking
#PIDFile和redis.conf配置中一致
PIDFile=/var/run/redis.pid
ExecStart=/usr/local/bin/redis-server /opt/redis/redis.conf --supervised systemd
#重新加载和停止服务的命令
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=on-failure
RestartSec=42s
#系统以默认多用户方式启动时,此服务自动运行。
[Install]
#Alias:服务别名
WantedBy=multi-user.target
2、查看当前状态
redis-cli -h 10.10.1.10 -p 6379 cluster nodes
3、把要退出的节点切换为从节点,如果已经是从节点了,则不用执行切换命令
redis-cli -h 10.10.1.10 -p 6379 cluster failover
4、把新节点新加入集群
redis-cli -h 10.10.1.10 -p 6379 cluster meet 10.10.1.5 6379
5、把新节点设置为从节点
redis-cli -h 10.10.1.5 -p 6379 cluster replicate 1986c6fdf42ed3306268bacf1b4c7badb9afc357
6、查看同步进度
redis-cli -h 10.10.1.10 -p 6379 info Replication

7、当新从节点同步完成后,把旧从节点关闭
# 如果是systemctl管理,则使用 systemctl stop redis
ps aux |grep redis-server|grep -v grep |awk '{print $2}' |xargs kill
8、将关闭的从节点从集群中退出
# 每个节点都要执行一次
redis-cli -h 10.10.1.10 -p 6379 cluster forget fd86263ec08c7b9d6f7265285d8311fdf5c9ac7a
咨询请添加V:oneaicat