redis集群 服务器更换ip,怎么办,怎么更换redis集群的ip
- 1、安装redis三主三从集群
- 2、正常状态的redis集群
- [3、更改redis集群服务器的ip 重启服务器 集群会down](#3、更改redis集群服务器的ip 重启服务器 集群会down)
- [4、更改redis集群服务器的ip 重启服务器 集群down的原因](#4、更改redis集群服务器的ip 重启服务器 集群down的原因)
- 5、更改redis集群服务器的ip后,如何解决redis集群down的问题
1、安装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之前的数据是一样的,没有损失数据。