当前位置: 首页 > 知识库问答 >
问题:

如何分配实际未分配的碎片?

沈琛
2023-03-14

问题:我已经启动了五个elasticsearch节点,但只有66,84%的数据在kibana中可用。当我用localhost检查集群运行状况时:9200/u cluster/health?pretty=true我得到了以下信息:{“cluster\u name”:“A2A”,“status”:“red”,“timed\u out”:false,“number\u of_nodes”:5,“number\u of_data\u nodes”:4,“active\u primary\u shards”:612,“active\u shards”:613,“relocationing\u shards”:0,“initialized\u shards”:0,“unassigned\u shards”:304,“delayed\u unassigned\u shards”:0,“number\u pending\u tasks”:0,“number\u in_flight\u fetch”:0,“task\u max\u waiting\u in\u queue\u millis”:0,“active\u shards\u percent\u as\u number”:66.8484187568157}

除kibana指数外,我所有的指数都是红色的。

小部分:

red open logstash-2015.11.08 5 0 47256 668 50.5mb 50.5mb 50.5mb red open logstash-2015.11.09 5 0 46540 1205 50.4mb 50.4mb red open logstash-2015.11.06 5 0 65645 579 69.2mb 69.2mb red open logstash-2015.11.07 5 0 62733 674 66.4mb green open。kibana 1 1 2 0 19.7kb 9.8kb red open logstash-2015.11 5 0 49254 1272 53mb 53mb red open logstash-2015.11.12 5 0 50885 466 53.6mb 53.6mb red open logstash-2015.11.10 5 0 49174 1288 52.6mb 52.6mb red open logstash-2016.04.12 5 0 92508 585 104.8mb red open logstash-2016.04.13 5 0 95120 279 107.2mb 107.2mb

我试图用curl-XPUT'localhost:9200/_settings'-d'{"index.routing.allocation.disable_allocation": false}'修复问题,但它不起作用!

你们有谁知道如何分配我的碎片吗?

当你需要其他信息时,请询问,我会尽力为你提供数据:


共有2个答案

沈凯康
2023-03-14

如果分片卡在未分配中,则可以手动分配。例如:

curl -XPOST 'localhost:9200/_cluster/reroute' -d '{
    "commands": [{
        "allocate": {
            "index": "logstash-2015.11.07",
            "shard": 5,
            "node": "Frederick Slade",
            "allow_primary": 1
        }
    }]
}'

请参阅群集重新路由文档,包括关于使用allow\u primary的警告。

宗波涛
2023-03-14

看到这个答案了吗?https://stackoverflow.com/a/23816954/1834331

您也可以先尝试重新启动elasticsearch:service elasticsearch restart。

否则,只需尝试手动重新分配分片(因为您的索引有5个分片,请使用shard标志012,...5运行命令):

curl -XPOST -d '{ "commands" : [ {
  "allocate" : {
       "index" : "logstash-2015.11.08", 
       "shard" : 0, 
       "node" : "SOME_NODE_HERE",
       "allow_primary":true 
     } 
  } ] }' http://localhost:9200/_cluster/reroute?pretty`

您可以使用:curl-slocalhost:9200/_cat/shards|grep UNASS检查具有未分配分片的节点

 类似资料:
  • 我在低源硬件配置的机器上得到了1个节点、1个碎片、1个副本体系结构。我必须将Elasticsearch堆大小保持在总内存的20%,并且我索引1K~1M文档到Elasticsearch关于硬件配置。我有不同类型机器,从2GB到16GB,但由于它们是32bit体系结构,我只能使用300M到1.5GB的最大内存作为堆大小。 由于某些原因,我不知道为什么,Elasticsearch创建了一些带有未分配碎片

  • 问题内容: 我有一个具有4个节点的ES集群: 我不得不重新启动search03,当它回来时,它又重新加入了群集,没有问题,但是留下了7个未分配的碎片。 现在,我的集群处于黄色状态。解决此问题的最佳方法是什么? 删除(取消)分片? 将分片移动到另一个节点? 将分片分配给节点? 将“ number_of_replicas”更新为2? 还有其他东西吗? 有趣的是,当添加新索引时,该节点开始在该节点上工作

  • centOS上的elasticsearch 1.7.x 我们的三节点集群变成了两节点集群。一切都很好。每个碎片我们都有3个复制品,所以我们都有了。 但现在集群运行状况是黄色的,我们有: 我们已经将ElasticSearch.yml中的副本计数设置更改为1(从2)并在两个节点上重新启动ES。这没有什么区别。 下一步是什么? 我看到了如何重新分配碎片,但没有看到如何消除未分配的碎片。

  • 我有一个包含4个节点的ES集群: 我不得不重新启动search03,当它回来时,它没有问题地重新加入了集群,但是留下了7个未分配的碎片。 现在我的集群处于黄色状态。解决这个问题最好的办法是什么? 删除(取消)碎片? 将碎片移动到另一个节点? 将碎片分配给节点? 将“number_of_replicas”更新为2? 完全是其他吗? 有趣的是,当添加了一个新的索引时,该节点开始处理它,并与集群的其余部

  • 问题内容: 我的集群处于黄色状态,因为未分配某些分片。怎么办呢? 我尝试设置所有索引,但是我认为这不起作用,因为我使用的是1.1.1版本。 我也尝试过重新启动所有机器,但同样发生。 任何想法? 编辑: 群集统计信息: 问题答案: 这些未分配的分片实际上是主节点上实际分片的未分配副本。 为了分配这些分片,您需要运行一个新的elasticsearch实例来创建一个辅助节点来承载数据副本。 编辑: 有时

  • 我正在运行一个2节点的elasticsearch集群,并将我的所有索引配置为2个主碎片和1个副本。起初,我认为每个节点将存储1个主碎片和1个副本,尽管这不是正在发生的事情。 如上所示,每个碎片都由单个节点托管,没有分配副本。 我做错了什么?