- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Elasticsearch 集群健康值红色终极处理方案
head插件会以不同的颜色显示。?1)、绿色——最健康的形态,代表全部的主分片和副本分片都可用;?2)、黄色——全部的主分片可用,但是部分副本分片不行用;?3)、红色——部分主分片不行用。(此时执行查询部分数据仍旧可以查到,遇到这种情况,还是赶快处理比较好。)?参考官网:/RltLEpN(部分中文集群健康形态博文材料翻译的不够精确,以官网为准)
假如集群形态为红色, Head插件显示:集群健康值red 。则说明:至少一个主分片安排失败。
这将导致一些数据以及索引的某些部分不再可用。
虽然如此, ElasticSearch还是允许我们执行查询,至于是通知用户查询结果可能不完整还是挂起查询,则由应用构建者来打算。
2、什么是unassigned 分片?
一句话解释:未安排的分片。?启动ES的时候,通过Head插件不停刷新,你会发觉集群分片会呈现紫色、灰色、最终绿色的形态。
3、为什么会消灭 unassigned 分片?
假如不能安排分片,例如,您已经为集群中的节点数过分安排了副本分片的数量,则分片将保持UNASSIGNED形态。?其错误码为:ALLOCATION_FAILED。
你可以通过如下指令,查看集群中不同节点、不同索引的形态。
GET _cat/shards?h=index,shard,prirep,state,unassigned.reason
4、消灭unassigned 分片后的症状?
head插件查看会:Elasticsearch启动N长时候后,某一个或几个分片仍持续为灰色。
5、unassigned 分片问题可能的缘由?
6、集群形态红色如何排查?
7、如何Fixed unassigned 分片问题?
方案一:极端情况——这个分片数据已经不行用,直接删除该分片。?ES中没有直接删除分片的接口,除非整个节点数据已不再使用,删除节点。?curl -XDELETE ‘localhost:9200/index_name/’
方案二:集群中节点数量=集群中全部索引的最大副本数量 +1。?N = R + 1?其中:?N——集群中节点的数目;?R——集群中全部索引的最大副本数目。?学问点:当节点加入和离开集群时,主节点会自动重新安排分片,以确保分片的多个副本不会安排给同一个节点。换句话说,主节点不会将主分片安排给与其副本相同的节点,也不会将同一分片的两个副本安排给同一个节点。?假如没有足够的节点相应地安排分片,则分片可能会处于未安排形态。?由于我的集群就一个节点,即N=1;所以R=0,才能满足公式。
问题就转嫁为:?1)添加节点处理,即N增大;?2)删除副本分片,即R置为0。?R置为0的方式,可以通过如下命令行实现:
root@tyg:/# curl -XPUT http://localhost:9200/_settings -d { ?number_of_replicas : 0 } {acknowledged:true}
方案三:allocate重新安排分片。?假如方案二仍旧未处理,可以考虑重新安排分片。
可能的缘由:
1)节点在重新启动时可能遇到问题。正常情况下,当一个节点恢复与群集的连接时,它会将有关其分片的信息转发给主节点,然后主节点将这分片从“未安排”转换为“已安排/已启动”。
2)当由于某种缘由(例如节点的存储已被损坏)导致该进程失败时,分片可能保持未安排形态。
在这种情况下,您必需打算如何连续:尝试让原始节点恢复并重新加入集群(并且不要强制安排主分片);
或者强制使用Reroute API安排分片并重新索引缺少的数据原始数据源或备份。?假如您打算安排未安排的主分片,请确保将“allow_primary”:“true”标志添加到恳求中。
ES5.X使用脚本如下:
ES2.X及晚期版本,将 allocate_replica改为 allocate,其他不变。
脚本解读:?步骤1:定位 UNASSIGNED 的节点和分片
curl -s localhost:9200/_cat/shards | fgrep UNASSIGNED
步骤2:通过 allocate_replica 将 UNASSIGNED的分片重新安排。
8、核心学问点
1)路由?原理很简约,把每个用户的数据都索引到一个独立分片中,在查询时只查询那个用户的分片。这时就需要使用路由。?使用路由优势:路由是优化集群的一个很强大的机制。?它能让我们依据应用程序的规律来部署文档, 从而可以用更少的资源构建更快速的查询。
2)在索引过程中使用路由?我们可以通过路由来把握 ElasticSearch 将文档发送到哪个分片。?路由参数值无关紧要,可以取任何值。重要的
您可能关注的文档
- Alibaba Sentinel 限流、熔断实现详解.docx
- +倍性能提升全过程优酷账号绑定淘宝账号的TPS从到的优化历程.docx
- Antd 代码彩蛋炸翻一圈人.docx
- Apache Kafka . 发布,离彻底去掉 ZooKeeper 更进一步.docx
- Apache Kafka服务端设计理念.docx
- Apache Kafka:优化部署的 种最佳实践.docx
- Apache Pulsar 对现代数据堆栈至关重要的几个原因.docx
- Arrow更好用的python时间序列处理库,你用过吗?.docx
- Aviator 表达式求值引擎开源框架.docx
- Arthas 实践——生产环境排查 CPU 飚高问题.docx
文档评论(0)