相关疑难解决方法(0)

ElasticSearch:未分配的碎片,如何解决?

我有一个包含4个节点的ES集群:

number_of_replicas: 1
search01 - master: false, data: false
search02 - master: true, data: true
search03 - master: false, data: true
search04 - master: false, data: true
Run Code Online (Sandbox Code Playgroud)

我不得不重新启动search03,当它返回时,它重新加入群集没有问题,但留下了7个未分配的分片.

{
  "cluster_name" : "tweedle",
  "status" : "yellow",
  "timed_out" : false,
  "number_of_nodes" : 4,
  "number_of_data_nodes" : 3,
  "active_primary_shards" : 15,
  "active_shards" : 23,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 7
}
Run Code Online (Sandbox Code Playgroud)

现在我的群集处于黄色状态.解决此问题的最佳方法是什么?

  • 删除(取消)分片?
  • 将分片移动到另一个节点?
  • 将分片分配给节点?
  • 将'number_of_replicas'更新为2?
  • 还有别的吗?

有趣的是,当添加一个新索引时,该节点开始处理它并与群集的其余部分一起玩得很好,它只是留下未分配的分片.

关注问题:我是否做错了导致这种情况发生在一开始?对重新启动节点时以这种方式运行的集群,我没有多少信心.

注意:如果由于某种原因运行单个节点群集,则可能只需执行以下操作:

curl -XPUT 'localhost:9200/_settings' -d '
{
    "index" : {
        "number_of_replicas" …
Run Code Online (Sandbox Code Playgroud)

sharding master elasticsearch

152
推荐指数
11
解决办法
20万
查看次数

标签 统计

elasticsearch ×1

master ×1

sharding ×1