概述

转载:https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484125&idx=1&sn=18274d67735893018b83108abe66f787&chksm=eaa82af5dddfa3e3bbb525454746b84f0cb99dc419349e549dfb470b47138979739f88a69e3e&scene=21#wechat_redirect

1、Elasticsearch集群不同颜色代表什么?

绿色——最健康的状态,代表所有的主分片和副本分片都可用;
黄色——所有的主分片可用,但是部分副本分片不可用;
红色——部分主分片不可用。(此时执行查询部分数据仍然可以查到,

遇到这种情况,还是赶快解决比较好。

2、Elasticsearch 集群颜色变黄色了要不要紧?

Elasticsearch集群黄色代表:

  1. 分配了所有主分片,但至少缺少一个副本。
  2. 没有数据丢失,因此搜索结果仍将完整。

注意:您的高可用性在某种程度上会受到影响。

如果更多分片消失,您可能会丢失数据。 将黄色视为应该提示调查的警告。

3、Elasticsearch集群健康状态如何排查?

3.1 集群状态查看

curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'
{"cluster_name" : "astrung","status" : "yellow","timed_out" : false,"number_of_nodes" : 2,"number_of_data_nodes" : 2,"active_primary_shards" : 22,"active_shards" : 22,"relocating_shards" : 0,"initializing_shards" : 2,"unassigned_shards" : 20
}

3.2 分片状态查看

curl -XGET 'http://localhost:9200/_cat/shards?v'index          shard prirep state        docs  store ip          node _river         0     p      STARTED         2  8.1kb 192.168.1.3 One  _river         0     r      UNASSIGNED                                megacorp       4     p      STARTED         1  3.4kb 192.168.1.3 One  megacorp       4     r      UNASSIGNED                                megacorp       0     p      STARTED         2  6.1kb 192.168.1.3 One

3.3 查看unassigned 的原因

GET /_cluster/allocation/explain

3.4 查看集群中不同节点、不同索引的状态

GET _cat/shards?h=index,shard,prirep,state,unassigned.reason

3.5 Head插件直观排查

4、Elasticsearch集群黄色的原因排查及解决方案

4.1 原因1:Elasticsearch采用默认配置(5分片,1副本),但实际只部署了单节点集群。

由于只有一个节点,因此群集无法放置副本,因此处于黄色状态。
elasticsearch 索引的默认配置如下:

index.number_of_shards:5
index.number_of_replicas:1

解决方案如下

您可以将副本计数降低到0或将第二个节点添加到群集,以便可以将主分片和副本分片安全地放在不同的节点上。

这样做以后,如果您的节点崩溃,群集中的另一个节点将拥有该分片的副本。

(1)设置副本数为0,操作如下:

PUT /cs_indexs/_settings
{"number_of_replicas": 0
}

进行段合并,提升访问效率,操作如下:

POST /cs_indexs/_forcemerge?max_num_segments=1

(2)不再物理扩展集群,将后续所有的索引自动创建的副本设置为 0。

PUT /_template/index_defaults
{"template": "*", "settings": {"number_of_replicas": 0}
}

4.2 原因2:Elasticsearch分配分片错误。

进一步可能的原因:您已经为集群中的节点数过分分配了副本分片的数量,则分片将保持UNASSIGNED状态。其错误码为:ALLOCATION_FAILED

解决方案如下:

reroute:重新路由命令允许手动更改群集中各个分片的分配。
核心操作如下:

POST /_cluster/reroute{"commands": [{"allocate_replica": {"index": "cs_indexs","shard": 0,   # 重新分配的分片(标记黄色的分片)"node": "es-2"}}]
}

reroute扩展使用——可以显式地将分片从一个节点移动到另一个节点,可以取消分配,并且可以将未分配的分片显式分配给特定节点。

举例使用模板如下:

POST /_cluster/reroute
{"commands" : [{"move" : {"index" : "test", "shard" : 0,"from_node" : "node1", "to_node" : "node2"}},{"allocate_replica" : {"index" : "test", "shard" : 1,"node" : "node3"}}]
}

其中:

1)move代表移动;
2)allocate_replica 代表重新分配;
3)cancel 代表取消;

4.3 磁盘使用过载。

原因3:磁盘使用超过设定百分比85%。

cluster.routing.allocation.disk.watermark.low——控制磁盘使用的低水位线。 它默认为85%,这意味着Elasticsearch不会将分片分配给使用磁盘超过85%的节点。 它也可以设置为绝对字节值(如500mb),以防止Elasticsearch在小于指定的可用空间量时分配分片。

解决方案

(1)查看磁盘空间是否超过85%。

[root@localhost home]# df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/xvda1          1014M  165M  849M  17% /boot
/dev/mapper/cl-home  694G  597G   98G  86% /home

(2)删除不必要的索引,以释放更多的空间。

DELETE  cs_indexs

4.4 磁盘路径权限问题。

原因4:磁盘路径权限问题。安全起见,默认Elasticsearch非root账户和启动。

相关的Elasticsearch数据路径也是非root权限。

解决方案:

去数据存储路径排查权限,或者在data的最外层设置:

chown -R elasticsearch:elasticsearch data

【Elasticsearch】Elasticsearch 集群健康值黄色 解决方案 或者 分片 未分配相关推荐

  1. 【Elasticsearch】Elasticsearch 集群健康值红色 解决方案 或者 分片 未分配

    文章目录 1.概述 1.集群状态解读 2.什么是unassigned 分片? 3.为什么会出现 unassigned 分片? 4.出现unassigned 分片后的症状? 5.unassigned 分 ...

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

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

  3. win10上elasticsearch-head显示集群健康值未连接问题

    安装好elasticsearch-head插件后,显示集群健康值为未连接 解决方法: 在elasticsearch.yml中添加配置 结果

  4. elasticsearch_head 启动集群健康值未连接?

    elasticsearch_head 启动集群健康值未连接? 在网上找了好久的解决办法 都么有解决这个问题.我觉得这个问题肯定是改配置文件的,但是往上改配置的五花八门的,要么改了启动不了.要么就是没有 ...

  5. 线上 ELK 集群健康值 red 状态问题排查与解决

    线上 ELK 集群健康值 red 状态问题排查与解决 参考文章: (1)线上 ELK 集群健康值 red 状态问题排查与解决 (2)https://www.cnblogs.com/haifeiwu/p ...

  6. es集群健康值变为黄色解决办法

    查看集群状态各个指标 curl http://localhost:9200/_cluster/health?pretty "cluster_name" : "my-app ...

  7. 18-elasticsearch集群健康为黄色

    1.问题1:新加入一个数据后,集群由绿色转为黄色 描述: windows下只有一台机器,在Kibana中使用以下命令 新建索引: 设置这个索引分片为1 PUT /megacorp {"set ...

  8. 【docker】elasticsearch-head无法连接elasticsearch的原因和解决,集群健康值:未连接,ElasticSearch——跨域访问的问题...

    环境 ==================== 虚拟机启动 centos 7  ip:192.168.92.130 elasticsearch 5.6.9   port:9200  9201 elas ...

  9. Elasticsearch基础15——Elasticsearch集群健康管理

    Elasticsearch关于集群的API 查看集群健康状态 请求地址 GET /_cat/health?v 请求结果 参数含义 参数 说明 status 集群状态,red红色表示集群不可用,yell ...

最新文章

  1. 利用流水线改进代码中的if处理流程
  2. Cortex-M0微处理器之错误定位
  3. 【LUA table 移除操作非常慢】
  4. html手机pc不同页面,PC端和手机端如何同时生成静态页
  5. C++ class实现顺序栈(完整代码)
  6. 浅谈缓存技术在ASP.NET中的运用
  7. xp系统mysql安装教程视频教程_Windows XP操作系统下的MYSQL安装过程_PHP教程
  8. 写出杨辉三角_认识杨辉三角
  9. WEBPACK+ES6+REACT入门(4/7)-评论列表DEMO以及CSS样式
  10. FlashFXP 5.4.0 注册
  11. C#创建,调用WebS'ervice
  12. ABP官方文档(四十七)【通知系统】
  13. android studio 自定义皮肤
  14. xorl %eax, %eax
  15. 仅逗oier们一笑(不定期更新中)
  16. QEMU(3) 参数解析
  17. Android毛玻璃效果实现
  18. ClassName::class
  19. Unity开发3 坐标系及工具、快捷键操作
  20. 蠎周刊 188: Jays

热门文章

  1. 飞猪推出66元飞全国活动:真香!
  2. 被约谈后,丰巢道歉并让步了......
  3. 罗永浩确认12月初开发布会 不是手机也不是电子烟
  4. 友商惭愧不?2000+的手机红米直接干到千元
  5. 三只松鼠7月12日登陆创业板 募资60亿元
  6. 特斯拉最廉价车型——基础版Model 3将取消网售
  7. 英雄联盟官宣IG冠军皮肤 彩蛋竟是王思聪吃热狗...
  8. 拳王虚拟项目公社:小投资虚拟创业副业项目?零成本投资网赚项目
  9. html表单占位符,HTML5 输入表单动效 - 占位符上浮
  10. 服务器可以修改cookie吗,是否可以为您拥有的网站/服务器设置Cookie?