断电遇到的elasticsearch6.3问题:重启es集群后索引的部分分片无法正常加载(UNASSIGNED状态)。

https://github.com/memoryFuhao/elasticsearch_client  (打个广告 以上链接是本人开发的一个es客户端工具,支持es大部分 CRUD操作  分页、分组、嵌套分组、and or ···,有需要的朋友可以pull代码直接使用)

问题现象:

Elasticsearch head页面点击未加载的分片出现如下错误信息:
{
    "index": "objext_result",
    "primary": true,
    "recovery_source": {
        "type": "EXISTING_STORE"
    },
    "shard": 0,
    "state": "UNASSIGNED",
    "unassigned_info": {
        "allocation_status": "deciders_no",
        "at": "2019-07-22T09:31:40.520Z",
        "delayed": false,
        "details": "failed shard on node [mHMs3pH8S_GfT6IHxu1SqA]: failed recovery, failure RecoveryFailedException[[objext_result][0]: Recovery failed on {mHMs3pH}{mHMs3pH8S_GfT6IHxu1SqA}{kkSvTMjKSkaZUTh56hBahQ}{172.17.250.36}{172.17.250.36:9300}{ml.machine_memory=135071264768, xpack.installed=true, ml.max_open_jobs=20, ml.enabled=true}];nested: IndexShardRecoveryException[failed to recover from gateway]; nested: EngineException[failed to recover from translog]; nested: TranslogCorruptedException[operation size must be at least 4 but was: 0]; ",
        "failed_attempts": 5,
        "reason": "ALLOCATION_FAILED"
    }
}

排查问题步骤:

a)通过异常信息可以判断问题大致产生的原因:es试图通过Translog日志文件恢复数据失败(由于断电导致translog文件损坏)。

b)知道问题产生的原因后,大致有了解决问题的思路,只要将损坏的translog文件排除则可以正常启动es集群。

c)尝试方法一:找到UNASSIGNED状态shard的translog路径并清空( eg:$es安装路径/data/nodes/0/indices/cen1VhqmSRWIzXFWAaLUQw/0/translog/  ),
        重启es集群查看日志,依然会报错(找不到translog文件)。该暴力方法宣布无效
    
    d)尝试方法二:使用es提供的translog工具清空UNASSIGNED状态shard的translog路径。( eg:$es安装路径/elasticsearch-translog  truncate  -d  $es安装路径/data/nodes/0/indices/cen1VhqmSRWIzXFWAaLUQw/0/translog/  ),
        重启es集群问题解决(注意如果用root账号操作的话,会出现translog文件权限问题,改为es用户权限即可)。

总结:

a)问题解决过程中参考的博客(es源码解析--translog):http://www.pianshen.com/article/1659213693/
    b)es遇到UNASSIGNED类似的问题时,仔细查看日志信息,通过日志信息先分析问题产生原因。

Elasticsearch断电后启动异常(failed recovery, failure RecoveryFailedException)相关推荐

  1. ES failed shard on node[XXX]: failed recovery, failure RecoveryFailedException XXX Too many openfile

    今天集群挂掉了,状态一直是red,恢复节点之后,开始恢复分片数据,一直都很慢. 直到所有分片都停止分配,但是此时集群状态还是red. 原因是:某节点上的分片尝试恢复5次没有成功,然后就丢弃不管.导致该 ...

  2. 另类解决部分黑苹果Monterey下蓝牙睡眠后启动异常缓慢的问题

    另类解决部分黑苹果Monterey下蓝牙睡眠后启动异常缓慢的问题 问题影响   由于蓝牙启动十分缓慢,于是导致睡眠唤醒后,使用iwatch不能立即解锁,需等待很长时间启动蓝牙,以及其他有关蓝牙的功能影 ...

  3. docker启动异常 Failed to start docker.service: Connection timed out 解决

    docker 启动异常 执行启动docker 命令后 出现下面 错误信息,于是重装了docker 还是出现下面错误 [root@root ~]# systemctl start docker Auth ...

  4. Spring boot 项目Kafka Error connecting to node xxx:xxx Kafka项目启动异常 Failed to construct kafka consumer

    Spring boot 项目Kafka Error connecting to node xxx:xxx Spring boot Kafka项目启动异常 新建了一个springBoot集成Kafka的 ...

  5. pg启动异常:Error: Failure while executing; `/bin/launchctl bootstrap gui/501

    启动postgresql: brew services start postgresql 报错信息如下: Error: Failure while executing; `/bin/launchctl ...

  6. elasticsearch安装 及 启动异常解决

    虚拟机使用net连接模式 1 Download and unzip the latest Elasticsearch distribution 2 Run bin/elasticsearch on U ...

  7. docker重启后启动失败Failed to start Docker Application Container Engine.

    刚刚弄了docker重启了一下,本来启动得好好的,重启系统后就不行了 一直给我报错 最开始是这样的 [root@server run]# systemctl status docker ● docke ...

  8. msm8953+android8.1启动异常进入recovery模式_需要格式化data分区恢复启动

    1.    问题现象和背景   "Can't load Android system. Your data may be corrupt. "     "If you c ...

  9. mysql5.5更改端口后初始化_centos7 修改mysql5.7默认端口后启动异常

    关闭selinux的方法有两种:临时关闭和永久关闭. 查看selinux的状态:sestatus [root@162-219-29-3 ~]# sestatus SELinux status: ena ...

最新文章

  1. 解决Http响应内容中文乱码问题
  2. python pattern_python-patterns:python风格的设计模式
  3. linux获取明文密码,linux下抓取内存中明文密码mimipenguin
  4. [css] 移动端的布局用过媒体查询吗?写一个试试
  5. 14--用两个栈实现队列
  6. Redhat enterprise linux下安装rlwrap工具
  7. dwr框架java解析excel_dwr poi java 将excel 导出到客户端
  8. 文件流的使用以及序列化和反序列化的方法使用
  9. Android 原创新作 超级水平仪 发布
  10. ENVI学习总结(十四)——高光谱地物识别
  11. 抖音品质建设 - iOS启动优化《原理篇》
  12. Redis五种数据结构及常用操作指令、Redis在JAVA中如何封装使用
  13. 多维灰色预测模型的一点改进
  14. windows server2012 安装网卡驱动
  15. Oracle“ ORA-12162:TNS:net服务名称指定不正确”错误和解决方案
  16. 诚之和:一年过去了,蚂蚁集团IPO“批文”到期!再上市需重新“排队”
  17. SofaRpc源码学习篇-netty以及跟dubbo骚操作,负载均衡
  18. Folium库使用心得(二)
  19. 如何利用英特尔管理工具绕过Windows防火墙
  20. Android学习计划

热门文章

  1. brew安装报错:fatal: not in a git directory Error: Command failed with exit 128: git
  2. Java并发编程与技术内幕:ConcurrentHashMap源码解析
  3. 云南大学计算机科学与技术录取分数线,云南大学2017年录取分数线公布
  4. 高一计算机专业班主任工作总结,高中计算机专业班主任工作总结.doc
  5. 微信小程序——自定义组件
  6. php 操作 腾讯企业邮箱设置发邮件,纯代码实现WordPress使用腾讯企业邮箱发送邮件...
  7. 唤醒词检测引擎Snowboy
  8. android adapter点击事件,Activity中响应Adapter的点击回调事件
  9. 【散文】 岁月留痕遇好友
  10. matlab建模DNA双链,matlab绘制DNA双螺旋结构模型三维图 请高手给详细步骤。 分重要,关键是我能学会。(可以加分)...