背景:

我们开发环境最近一个月ES集群总是yellow状态,一些索引总是yellow,但Es集群各节点是正常的。yello说明索引的副本有故障导致。那为什么副本一直无法恢复?

原因分析:

Es集群因为部分索引的副本状态为Unassigned Replica。那为什么集群各节点是好的,坏的副本不能自动恢复呢?ES是有平衡机制的,正常情况下副本丢失是可以从主分片那重新获取到并重建的。

回顾下Es平衡机制,ES平衡机制需要满足一定的条件才会触发,详细如下

cluster.routing.allocation.allow_rebalance

Always   标识rebalance一直会开着

Indices_primaries_active  标识Es的主分片都上线才开始rebalance

Indices_all_active   标识ES主分片和副本分片都上线才开始rebalance.  默认配置

如果各节点分片数量不均衡根据平衡策略条件必须主分片和副本都上线后才会触发。那是否可以先把有问题的索引副本数改成0,然后在修改成指定副本通过这种方式来恢复副本?

PUT my-index/_settings

{

"number_of_replicas": 1

}

但是我所遇到的情况是副本改成0后集群状态变成green,重新修改副本为1后又变成yellow。感觉很奇怪。

通过查看指定索引的setting信息发现一些秘密,执行GET _settings?pretty。筛选指定索引的配置发现多了一个冷热数据的配置信息cluster.routing.allocation.require.temperature=warn。之前我们开发做过集群节点冷热数据配置,从索引的属性上来看索引被设置为了冷数据。那是否有可能是因为被打上冷数据标签导致的问题呢?

通过修改索引冷热数据属性来尝试是否能让索引重新平衡分片。命令如下

PUT my_index/_settings

{

"routing": {

"allocation": {

"require": {

"temperature":null

}

}

}

}

完成上述操作后目前集群状态以恢复正常。这里留下一个疑问?难道索引被打成冷数据后会影响副本重建吗?

ES集群状态一直yellow状态引发的思考相关推荐

  1. 精品分享:解决ES集群状态为yellow,原因(cannot allocate because allocation is not permitted to any of the nodes)

    新年第一天开工.兴致高高的来上班,想着拿个开门红包,红包没拿到.结果遇到了Elasticsearch有个索引状态为yellow.很好,很惊喜,perfect! 首先,介绍下个人理解的ES集群的三种状态 ...

  2. ES集群状态、节点、索引等查看及根据字段、排序查询

    ES集群基础: 1. 查看集群: http://172.xxx.xxx.8:9200 2. 查看状态: http://172.xxx.xxx.8:9200/_cat/health?v 3. 查看索引: ...

  3. ES命令行查询es集群的状态、分片、索引

    查看es集群状态 curl -XGET -uelastic -p http://172.18.35.144:9200/_cat/health?v cluster ,集群名称 status,集群状态 g ...

  4. ES集群中出现UNASSIGNED分片时的解决思路

    原文:https://www.modb.pro/db/182864 引入此问题的原因,是因为在单节点的ES部署策略中,如果在设置某个ES索引的replica不为零,你会发现. 存在Unassigned ...

  5. 教你在Kubernetes中快速部署ES集群

    摘要:ES集群是进行大数据存储和分析,快速检索的利器,本文简述了ES的集群架构,并提供了在Kubernetes中快速部署ES集群的样例:对ES集群的监控运维工具进行了介绍,并提供了部分问题定位经验,最 ...

  6. Kubernetes 搭建 ES 集群(存储使用 local pv)

    推荐阅读 Helm3(K8S 资源对象管理工具)视频教程:https://edu.csdn.net/course/detail/32506 Helm3(K8S 资源对象管理工具)博客专栏:https: ...

  7. Kubernetes 搭建 ES 集群(存储使用 cephfs)

    推荐阅读 Helm3(K8S 资源对象管理工具)视频教程:https://edu.csdn.net/course/detail/32506 Helm3(K8S 资源对象管理工具)博客专栏:https: ...

  8. CentOS安装Elasticsearch_IK分词器拼音分词器_部署kibana_部署es集群

    CentOS安装Elasticsearch_IK分词器_部署kibana_部署es集群 一.部署单点es ①:创建网络 因为我们还需要部署kibana容器,因此需要让es和kibana容器互联.这里先 ...

  9. rac集群状态中监听状态CHECK TIMED OUT处理

    今天一个客户反馈,数据库的监听程序无法查看,lsnrctl status命令执行后一直卡着没反应. 远程连接分析,是RAC集群数据库,检查集群状态,ora.LISTENER.lsnr资源处于INTER ...

  10. 【Elasticsearch】es 集群健康值 红色 red 分片 未分配

    1.概述 转载:https://zhuanlan.zhihu.com/p/101608973 转载这篇文章是因为根据我的文章 [Elasticsearch]elasticsearch 7.x 查看分片 ...

最新文章

  1. ajax参数中有加号,浅谈在js传递参数中含加号(+)的处理方式
  2. SCUT - 244 - 全新的游戏 - 凸包
  3. LeetCode动态规划系列教程(下)
  4. 你为什么人到中年还是个普通员工?
  5. Struts2 中继承ActionSupport类
  6. Cadence Gerber文件制作过程
  7. ubuntu18.04安装搜狗输入法之后无法使用的问题
  8. 一些计算机u口无法使用的原因,电脑USB接口突然不能用的多个原因分析
  9. matlab定义双精度型变量_MATLAB小数(浮点数)类型
  10. 希腊字母与英文读音中文读音对照表
  11. Windows配置环境变量
  12. 2022年素材网完整源码+带后台管理
  13. 不错的软件测试学习网站
  14. 【数据结构oj】树的度(树和二叉树的相互转化)
  15. 区块链发展的重要里程碑
  16. Java三种多线程实现睡眠排序
  17. 什么是高并发?与多线程有什么区别?你的项目有高并发问题吗?是如何解决的?
  18. 序列化Writable接口
  19. svg交互_如何创建交互式SVG动画鼓套件
  20. 深度摄像头ORBBEC Dabai Pro调试

热门文章

  1. 很好用的搜网盘资源工具。很多都能找到
  2. TestCenter测试管理工具安装和卸载(B)
  3. 16s测序 | 如何轻松发表文章
  4. STM32 HAL库学习笔记-(SPI驱动ADXL345)
  5. 学生的知识管理工具:有道云笔记、幕布和 Effie
  6. matlab读取hpf文件,chpf
  7. 【四二学堂】H5手机游戏-梅花易数一撮金(游戏开发系列微课之一)
  8. 计算机小狐狸操作,简易的操作手册-小狐狸商务软件.DOC
  9. Java 在Word中创建多级项目符号列表和编号列表
  10. win7 修改html文件图标,如何更改文件图标,教您Win7如何更改图标