from: https://www.cnblogs.com/topicjie/p/7603227.html

缘起

  正在欢乐的逗着孩子玩耍,突然间来了一通电话,值班人员告诉我误重启了一台服务器,是我负责的服务,感觉都要吓飞了,赶紧打开电脑查看次服务器上跑的是什么业务,

不看不知道,一看吓一跳,尼玛,是著名的redis cluster集群中的一台服务器,此时此刻心中一万个草泥马奔腾而过。。。。

剖析

  此集群是26台512G内存搭建的redis cluster,数据量已经达到了4T,每个服务器上篇对应24个实例,每个实例的内存配置为20G。

首先我登录了一台集群中的另外一台服务器B,通过B连接上redis 集群,使用cluster info 命令查看发现集群状态是ok的,显然已经自动failover。不幸中的大幸,辛亏是这个集群,

此集群是有副本的,解决了单点故障问题,若是其它两个集群中的主机后果不敢想象。此时此刻就展示出HA的重要性了,Down掉一台服务器,集群整体不受影响,另外服务请求

可能会出现少量的错误,因为有可能槽位再切换中。

恢复

  我登录刚刚重启的这个服务器之后,使用脚本启动所有的实例,大约过了30分钟,22个实例启动完毕,数据完全加载到内存,并且实例再集群中的状态已经恢复,此过程是自动的,redis cluster 还是很给力从这方面来讲。当我使用 redis-cli -p 6381 cluster nodes|grep fail 的时候发现还有两个实例是fail状态。赶紧检查。

1
2
53faad9cd4257f33eaaa92f40f7439bf2f30db21 10.34.2.15:6396 slave,fail 8269ee58f563a5961755ee7f782794c7f79f8077 1506431668362 1506431655787 908 disconnected
2cc8f7f49bb7f28dc383b6113080bae4f3b2e375 10.34.2.15:6388 slave,fail ceb54aabf39b0c8c88a205294724be76295c4ab9 1506431660074 1506431647510 1272 disconnected

故障主机 10.34.2.15 的 6396redis日志中发现了如下的报错:

1
5927:M 26 Sep 21:39:37.527 # Unrecoverable error: corrupted cluster config file.

  

检查cluster生成的node文件,发现文件中缺失信息,最后一行出现了半行不完整的数据记录。我的处理方法是将所有的都清理掉,只保留myself那行。

然后再次启动redis实例,则加载成功。

反思

  cluster的配置文件出现不完整信息原因是因为服务器硬重启导致,而服务器重启是人为的误操作导致,最根本的还是在人。慢一点可以,但是千万不要搞错啊。。。。

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 http://www.cnblogs.com/topicjie/

Unrecoverable error: corrupted cluster config file.的更多相关文章

  1. MongoDB_"Error parsing YAML config file: yaml-cpp: error at line 3, column 9: illegal map value"解决方法

    在启动配置文件的时候,系统报错:Error parsing YAML config file: yaml-cpp: error at line 3, column 9: illegal map val ...

  2. Fontconfig error: Cannot load config file "infinality/conf.d"

    reference: https://forums.gentoo.org/viewtopic-t-1079210-start-0.html resolved with following method ...

  3. error in config file "/etc/rabbitmq/rabbitmq.config"

    记录一次RabbitMQ配置文件配置错误 error信息: dill@ubuntu-vm:/usr/share/doc/rabbitmq-server$ sudo /usr/lib/rabbitmq/ ...

  4. ERROR: No pool defined. at least one pool section must be specified in config file

    root@ubuntu:/opt/php7# /opt/php7/sbin/php-fpm [22-Sep-2015 14:29:00] WARNING: Nothing matches the in ...

  5. CRITICAL:yum.cli:Config Error: Error accessing file for config file:///etc/yum.conf

    先试试yum install gcc  , 1,下载最新的yum-3.2.28.tar.gz并解压 #wget http://yum.baseurl.org/download/3.2/yum-3.2. ...

  6. mysql 帮助手册 以及 warning: World-writable config file 以及 ERROR 1840 (HY000) at line 24:

    1. mysql --help 2.报错 报错Warning: World-writable config file http://www.jb51.net/article/99027.htm 最近在 ...

  7. DVWA----DVWA System error - config file not found. Copy config/config.inc.php.dist to config/config.inc.php and configure to your environment.

    DVWA简介:DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法 ...

  8. o] TortoiseGit错误 - Could not get all refs. libgit2 returned: corrupted loose reference file

    因无法追溯的同步操作错误或工程文件错误,造成Git 同步时报错: Could not get all refs. libgit2 returned: corrupted loose reference ...

  9. gd-jpeg: JPEG library reports unrecoverable error 解决办法

    Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg: JPEG library reports unrecov ...

随机推荐

  1. codeforces781C Underground Lab

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  2. nodejs中mysql断线重连

    之前写了个小程序Node News,用到了MySQL数据库,在本地测试均没神马问题.放上服务器运行一段时间后,偶然发现打开页面的时候页面一直处于等待状态,直到Nginx返回超时错误.于是上服务器检查了 ...

  3. 《Think in Java》(十四)类型信息

    简介 RTTI,RunTime Type Information,运行时类型信息.Java 在运行时识别对象和类的信息主要有两种方式:一种是"传统的"RTTI,它假定我们在编译时已 ...

  4. Les13 性能管理

    目标 使用Oracle Enterprise Manager监视性能 使用自动内存管理(AMM) 使用内存指导调整内存缓冲区的大小 查看与性能相关的动态视图 排除无效和不可用对象产生的故障 性能监视 ...

  5. linux限定用户目录及权限

    setfacl -m u:username:rwx dir/file   -m:添加或者修改 u[设置用户]:username[用户名]:rwx[设置权限] g[设置组]:groupname[组名]: ...

  6. office套件

    一.PDF模块 使用PyPDF2模块 pip install PyPDF2 1.1 从PDF读取数据 直接读取,并打印出来.但是这种打印存在一个问题,不能中文字符 import PyPDF2 impo ...

  7. 关于Qt中使用线程的时候函数具体在哪个线程中运行的问题

    在子线程中,run函数中以及其中调用的都在单独的子线程里面运行,但是其他的类似构造函数之流都是在主线程里面运行的,不要搞混了

  8. canvas 画布 文字描边

    总结一下,canvas 画布 文字描边的2种方法以及其不同的视觉效果: 效果图: 具体代码: <canvas id="canvas" width="800" ...

  9. win10下安装VS2005运行程序出现0x000007b错误的解决方法

    项目工程一运行就报错...真心坑... 方法如下: 1.安装DirectX 9.0c 形成原因是因为DirectX 9.0被损坏, 只需要安装即可. 如果有电脑管家的.在电脑管家里面搜索“Direct ...

  10. yii2 实现excel导出功能

    官方教程地址:http://www.yiiframework.com/extension/yii2-export2excel/ 安装: Either run php composer.phar req ...