"Message":"您的请求:'/_cluster/allocation/reroute' 不被允许。"}

Ada*_*Dev 6 amazon-web-services elasticsearch elastic-stack

我正在 AWS 集群上重新分配节点 1 的 AWS ES 集群中的副本分片。我希望主分片和副本分片都驻留在那里。但是当运行以下命令时出现错误

curl  -XPOST 'http://AWS-CLuster-name.com/_cluster/allocation/reroute' -d '{ "commands": [{"allocate_replica":{"index": ".kibana", "shard": 0, node: "nodename" "primary": false }'
Run Code Online (Sandbox Code Playgroud)

运行上述命令时,出现以下错误。

{"Message":"Your request: '/_cluster/allocation/reroute' is not allowed."}
Run Code Online (Sandbox Code Playgroud)

这是否意味着 AWS 中不允许手动分配分片?任何人都可以请澄清。

谢谢

Rod*_*zel 10

正确,AWS 不允许您直接控制分片分配,至少不是以通常的方式。

我希望它可以通过其他一些特定于 AWS 的方式来完成,因为我有一个黄色的集群,我真的宁愿是绿色的。:(

[后续:似乎 Elasticsearch 域最终意识到它可以自己解决这个问题。在我们的案例中,由于可用空间不足,副本未被分配。我们释放了空间,也许 30 分钟后,碎片开始自行复制。]


小智 0

这在 Elasticsearch 中是不允许的,因为它会违反故障转移或分布式副本的概念。https://www.elastic.co/guide/en/elasticsearch/guide/master/replica-shards.html

在同一节点上拥有相同的主分片和副本分片是没有用的,而且根本不允许。与AWS无关。

  • 这个答案只部分正确,部分错误。你不能将两个分片重新路由到同一个节点上,这是真的,但这不是OP看到的错误。AWS 根本不允许重新路由,无论是否有效。 (11认同)