redis集群 服务器更换ip,怎么办,怎么更换redis集群的ip

redis集群 服务器更换ip,怎么办,怎么更换redis集群的ip

1、安装redis三主三从集群

参考 安装redis三主三从集群

在此例中 安装的redis集群信息如下

机器IP redis端口 redis安装目录 每个redis节点配置文件 每个redis节点的集群配置文件
192.168.2.162 6379 /usr/local/redis/ /usr/local/redis/conf/redis-cluster-6379.conf /data/redis7/cluster/6379/data/nodes-6379.conf
192.168.2.162 6380 /usr/local/redis/ /usr/local/redis/conf/redis-cluster-6380.conf /data/redis7/cluster/6380/data/nodes-6380.conf
192.168.2.164 6379 /usr/local/redis/ /usr/local/redis/conf/redis-cluster-6379.conf /data/redis7/cluster/6379/data/nodes-6379.conf
192.168.2.164 6380 /usr/local/redis/ /usr/local/redis/conf/redis-cluster-6380.conf /data/redis7/cluster/6380/data/nodes-6380.conf
192.168.2.168 6379 /usr/local/redis/ /usr/local/redis/conf/redis-cluster-6379.conf /data/redis7/cluster/6379/data/nodes-6379.conf
192.168.2.168 6380 /usr/local/redis/ /usr/local/redis/conf/redis-cluster-6380.conf /data/redis7/cluster/6380/data/nodes-6380.conf

2、正常状态的redis集群

查看redis集群状态

在redis集群中任一台机器上登录redis

bash 复制代码
redis-cli -c -p 6379

登入redis后 执行

bash 复制代码
auth 123456
cluster info
cluster nodes

其中cluster info 显示 cluster_state:ok 即表示集群状态正常。

redis存储的数据如下 用redisinsight连接redis集群中任一节点 查看redis存储的数据

3、更改redis集群服务器的ip 重启服务器 集群会down

把 192.168.2.162 改为 192.168.2.172

把 192.168.2.164 改为 192.168.2.174

把 192.168.2.168 改为 192.168.2.178

然后重启服务器

再次查看redis集群状态

在redis集群中任一台机器上登录redis

bash 复制代码
redis-cli -c -p 6379

登入redis后 执行

bash 复制代码
auth 123456
cluster info
cluster nodes

其中cluster info 显示 cluster_state:fail 即表示集群状态不正常。

发现redis集群已经处于down的状态。cluster_state:fail 就表示集群已经down了。

用redisinsight连接同样发现集群已经down了。

4、更改redis集群服务器的ip 重启服务器 集群down的原因

因为更改了服务器ip,服务器的IP和原来不一样了,但是记录集群状态的节点配置文件中的IP还仍然是以前的IP(因为集群是更改服务器IP之前创建的)

bash 复制代码
cat /data/redis7/cluster/6379/data/nodes-6379.conf
cat /data/redis7/cluster/6380/data/nodes-6380.conf

导致集群之间还认为是以前的IP,因此集群down了。

5、更改redis集群服务器的ip后,如何解决redis集群down的问题

有两种解决方法:

1、删除现有redis集群,创建新的redis集群,这种方法会破坏现有的redis数据,因此在生产服务器上不可用。

2、更改每个redis集群节点的节点配置文件,把IP对应改成新的IP,此种方法不损失redis数据,可以使用。

找到IP更改记录如下:

把 192.168.2.162 改为 192.168.2.172

把 192.168.2.164 改为 192.168.2.174

把 192.168.2.168 改为 192.168.2.178

更改每个redis集群节点的节点配置文件,把IP对应改成新的IP:

bash 复制代码
sed -i "s/192.168.2.162/192.168.2.172/g"  /data/redis7/cluster/6379/data/nodes-6379.conf /data/redis7/cluster/6380/data/nodes-6380.conf
sed -i "s/192.168.2.164/192.168.2.174/g"  /data/redis7/cluster/6379/data/nodes-6379.conf /data/redis7/cluster/6380/data/nodes-6380.conf
sed -i "s/192.168.2.168/192.168.2.178/g"  /data/redis7/cluster/6379/data/nodes-6379.conf /data/redis7/cluster/6380/data/nodes-6380.conf

查看更改后的节点配置文件 已经改成了新的IP

bash 复制代码
cat /data/redis7/cluster/6379/data/nodes-6379.conf
cat /data/redis7/cluster/6380/data/nodes-6380.conf

最后重启所有redis节点

bash 复制代码
/etc/init.d/redisd6379 stop
/etc/init.d/redisd6380 stop

/etc/init.d/redisd6379 start
/etc/init.d/redisd6380 start

再次查看redis集群状态

在redis集群中任一台机器上登录redis

bash 复制代码
redis-cli -c -p 6379

登入redis后 执行

bash 复制代码
auth 123456
cluster info
cluster nodes

其中cluster info 显示 cluster_state:ok 即表示集群状态正常。

用redisinsight连接redis集群master节点 查看redis存储的数据 和更改redis集群服务器IP之前的数据是一样的,没有损失数据。

相关推荐
Codefengfeng10 分钟前
binwalk提取文件时无输出文件夹(kali-linux环境)
linux·运维·服务器
疯狂敲代码的老刘18 分钟前
MyBatis Generator GUI 下载安装教程 可视化MyBatis代码生成
java·mybatis·mybatis-ui
EmbedLinX1 小时前
嵌入式Linux根文件系统制作与移植
linux·服务器·笔记·学习
开开心心_Every1 小时前
局域网大文件传输,设密码双向共享易用工具
运维·服务器·网络·游戏·pdf·电脑·excel
qq_24218863322 小时前
分享Xshell在服务器管理中的高级技巧与自动化脚本案例
运维·服务器·自动化
袁袁袁袁满2 小时前
Linux网络连接之ss命令详细使用指南(从入门到运维实战)
linux·运维·服务器·网络·ssh·网络连接·ss命令
爱华晨宇3 小时前
Xshell高效运维实战指南
运维·服务器
未来之窗软件服务3 小时前
服务器运维(四十一)日服务器linux-audit.log分析工具—东方仙盟
linux·运维·服务器·服务器运维·仙盟创梦ide·东方仙盟
guizhoumen3 小时前
建站从零开始之域名、服务器和CMS网站程序的选择
运维·服务器·网络
洛豳枭薰3 小时前
Redis 基础数据结构
数据结构·redis