zoukankan      html  css  js  c++  java
  • Elasticsearch 集群健康值红色终极解决方案

    文章转载自:
    https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247483905&idx=1&sn=acaff63b10e0ad48ad32517950ace5cf&chksm=eaa82a29dddfa33f2a9c6046b5244bc81df61f45237c11028e20388ac7130a6ea1fa9f2b11f4&scene=21#wechat_redirect

    1)、绿色——最健康的状态,代表所有的主分片和副本分片都可用;
    2)、黄色——所有的主分片可用,但是部分副本分片不可用;
    3)、红色——部分主分片不可用。(此时执行查询部分数据仍然可以查到,遇到这种情况,还是赶快解决比较好。)

    方案一:极端情况——这个分片数据已经不可用,直接删除该分片。
    ES中没有直接删除分片的接口,除非整个节点数据已不再使用,删除节点。

    curl -XDELETE ‘localhost:9200/index_name/’
    

    方案二:集群中节点数量>=集群中所有索引的最大副本数量 +1。
    N> = R + 1
    其中:
    N——集群中节点的数目;
    R——集群中所有索引的最大副本数目。
    知识点:

    当节点加入和离开集群时,主节点会自动重新分配分片,以确保分片的多个副本不会分配给同一个节点。
    
    换句话说,主节点不会将主分片分配给与其副本相同的节点,也不会将同一分片的两个副本分配给同一个节点。 
    如果没有足够的节点相应地分配分片,则分片可能会处于未分配状态。 
    由于我的集群就一个节点,即N=1;所以R=0,才能满足公式。
    

    问题就转嫁为:
    1)添加节点处理,即N增大;
    2)删除副本分片,即R置为0。
    R置为0的方式,可以通过如下命令行实现:

    curl -XPUT "http://localhost:9200/_settings" -d' 
    {  "number_of_replicas" : 0 } '
    

    方案三:allocate重新分配分片。
    如果方案二仍然未解决,可以考虑重新分配分片。

  • 相关阅读:
    UVA 221
    A Typical Homework(学生信息管理系统)
    追踪电子表格中的单元格
    浮点数!!!(摘)
    poj 3158kickdown
    循环小数 UVa202
    Unix is 命令
    W
    V
    完美世界 字符串倒置输出
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/12881221.html
Copyright © 2011-2022 走看看