【Elasticsearch】Elasticsearch 集群健康值黄色 解决方案 或者 分片 未分配
概述
转载: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集群黄色代表:
- 分配了所有主分片,但至少缺少一个副本。
- 没有数据丢失,因此搜索结果仍将完整。
注意
:您的高可用性在某种程度上会受到影响。
如果更多分片消失,您可能会丢失数据。 将黄色视为应该提示调查的警告。
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 集群健康值黄色 解决方案 或者 分片 未分配相关推荐
- 【Elasticsearch】Elasticsearch 集群健康值红色 解决方案 或者 分片 未分配
文章目录 1.概述 1.集群状态解读 2.什么是unassigned 分片? 3.为什么会出现 unassigned 分片? 4.出现unassigned 分片后的症状? 5.unassigned 分 ...
- 【Elasticsearch】es 集群健康值 红色 red 分片 未分配
1.概述 转载:https://zhuanlan.zhihu.com/p/101608973 转载这篇文章是因为根据我的文章 [Elasticsearch]elasticsearch 7.x 查看分片 ...
- win10上elasticsearch-head显示集群健康值未连接问题
安装好elasticsearch-head插件后,显示集群健康值为未连接 解决方法: 在elasticsearch.yml中添加配置 结果
- elasticsearch_head 启动集群健康值未连接?
elasticsearch_head 启动集群健康值未连接? 在网上找了好久的解决办法 都么有解决这个问题.我觉得这个问题肯定是改配置文件的,但是往上改配置的五花八门的,要么改了启动不了.要么就是没有 ...
- 线上 ELK 集群健康值 red 状态问题排查与解决
线上 ELK 集群健康值 red 状态问题排查与解决 参考文章: (1)线上 ELK 集群健康值 red 状态问题排查与解决 (2)https://www.cnblogs.com/haifeiwu/p ...
- es集群健康值变为黄色解决办法
查看集群状态各个指标 curl http://localhost:9200/_cluster/health?pretty "cluster_name" : "my-app ...
- 18-elasticsearch集群健康为黄色
1.问题1:新加入一个数据后,集群由绿色转为黄色 描述: windows下只有一台机器,在Kibana中使用以下命令 新建索引: 设置这个索引分片为1 PUT /megacorp {"set ...
- 【docker】elasticsearch-head无法连接elasticsearch的原因和解决,集群健康值:未连接,ElasticSearch——跨域访问的问题...
环境 ==================== 虚拟机启动 centos 7 ip:192.168.92.130 elasticsearch 5.6.9 port:9200 9201 elas ...
- Elasticsearch基础15——Elasticsearch集群健康管理
Elasticsearch关于集群的API 查看集群健康状态 请求地址 GET /_cat/health?v 请求结果 参数含义 参数 说明 status 集群状态,red红色表示集群不可用,yell ...
最新文章
- 利用流水线改进代码中的if处理流程
- Cortex-M0微处理器之错误定位
- 【LUA table 移除操作非常慢】
- html手机pc不同页面,PC端和手机端如何同时生成静态页
- C++ class实现顺序栈(完整代码)
- 浅谈缓存技术在ASP.NET中的运用
- xp系统mysql安装教程视频教程_Windows XP操作系统下的MYSQL安装过程_PHP教程
- 写出杨辉三角_认识杨辉三角
- WEBPACK+ES6+REACT入门(4/7)-评论列表DEMO以及CSS样式
- FlashFXP 5.4.0 注册
- C#创建,调用WebS'ervice
- ABP官方文档(四十七)【通知系统】
- android studio 自定义皮肤
- xorl %eax, %eax
- 仅逗oier们一笑(不定期更新中)
- QEMU(3) 参数解析
- Android毛玻璃效果实现
- ClassName::class
- Unity开发3 坐标系及工具、快捷键操作
- 蠎周刊 188: Jays
热门文章
- 飞猪推出66元飞全国活动:真香!
- 被约谈后,丰巢道歉并让步了......
- 罗永浩确认12月初开发布会 不是手机也不是电子烟
- 友商惭愧不?2000+的手机红米直接干到千元
- 三只松鼠7月12日登陆创业板 募资60亿元
- 特斯拉最廉价车型——基础版Model 3将取消网售
- 英雄联盟官宣IG冠军皮肤 彩蛋竟是王思聪吃热狗...
- 拳王虚拟项目公社:小投资虚拟创业副业项目?零成本投资网赚项目
- html表单占位符,HTML5 输入表单动效 - 占位符上浮
- 服务器可以修改cookie吗,是否可以为您拥有的网站/服务器设置Cookie?