免费注册
帮助文档(华北一、二)

  • yellow状态表明存在未分配(unassigned)的从分片。

    查询索引状态

     

    curl -s -XGET 'http://<host>:9200/_cat/indices?v'

    curl -s -XGET 'http://<host>:9200/_cluster/health?level=indices'

    查询未分配的分片

     

    curl -s -XGET 'http://<host>:9200/_cat/shards?v' | grep UNASSIGNED

    curl -s -XGET 'http://<host>:9200/_cluster/health?level=shards'

    索引副本设置不合理

    如果是索引副本数设置大于数据节点个数而导致集群处于 yellow状态,修改副本数来修复集群状态。

     

    curl -XPUT \

    http://<host>:9200/unassigned_index/_settings \

    -H 'Content-Type: application/json' \

    -d '{

        "index": {

            "number_of_replicas": replicasCount

        }

    }'

    # unassigned_index为未分配的分片索引

    # replicasCount为新的索引副本数

    正常情况下,未分配的从分片会自动得到分配,集群状态也会恢复 green。某些特殊情况可能需要手动分配掉未分配的从分片

     

    curl -XPOST \

    http://<host>:9200/_cluster/reroute \

    -H 'Content-Type: application/json' \

    -d '{

        "commands": [{

            "allocate_replica": {

                "index": "unassigned_index",

                "shard": num,

                "node": "nodeName"

            }

        }]

    }'

    # unassigned_index为未分配的分片索引

    # num为未分配的分片编号