1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

redis配置文件损坏处理案例

问题现象

由于硬件故障导致redis集群中的一台主机宕机,恢复后尝试启动某个port_x端口服务时启动失败。检查port_x.log日志文件,发现“Unrecoverable error: corrupted cluster config file”错误,提示集群配置文件损坏。

redis配置文件损坏处理案例

处理方法

1. 删除损坏的配置文件
删除~/cluster/port_x目录中的nodes.conf配置文件,该文件名已在redis.conf文件中的cluster-config-file参数中指定。

2. 启动port_x端口服务
在~/cluster/port_x目录下执行以下命令:nohup redis-server ./redis.conf &

3. 检查集群信息
执行redis-cli -h xx.xx.xx.xx -p port_x -a admin cluster nodes命令,检查集群信息。红色部分表示异常的主机IP和服务端口。
目前状态为master、fail、noaddr,状态中没有slots数据。

4. 剔除节点
执行redis-cli -h xx.xx.xx.xx -p port_x -a admin CLUSTER FORGET 3d44f1e574aa7ba4e192450e5002fe0f98014731命令,将异常节点剔除。

5. 加入集群
执行redis-cli -h xx.xx.xx.xx -p port_x -a admin CLUSTER MEET xx.xx.xx.xx port_x命令,加入集群。

6. 指定为从节点
执行redis-cli -h xx.xx.xx.xx -p port_x -a admin cluster nodes命令,确认59463670386e78bfe6eed6c3e99ed3b488fb1ba6主节点只有一个从节点。将xx.xx.xx.xx主机port_x端口服务指定为59463670386e78bfe6eed6c3e99ed3b488fb1ba6的从节点,执行以下命令:redis-cli -h xx.xx.xx.xx -p port_x -a admin CLUSTER REPLICATE 59463670386e78bfe6eed6c3e99ed3b488fb1ba6

小结与思考

redis主机宕机恢复后,启动服务时,日志显示配置文件被损坏,检查nodes.conf文件发现其中的内容被异常截取了。这是由于redis服务被异常停止造成的。不能因为redis采用了集群模式而忽视规范操作。正确停止redis集群服务的方法:使用redis-cli命令执行shutdown或者ps-ef命令查找redis服务器进程并使用kill命令结束进程。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6087.html