禁用分配的单个副本的意外 ElasticSearch 分片分配

Posted

技术标签:

【中文标题】禁用分配的单个副本的意外 ElasticSearch 分片分配【英文标题】:Unexpected ElasticSearch shard allocation for a single replica with allocation disabled 【发布时间】:2016-06-29 20:45:04 【问题描述】:

我们有一个双节点环境,并且我们只想将某些数据存储在主节点上(因为另一个节点不是高可用的)。

为此,我将副本数设置为 0,并在我们不希望发生分片分配的索引上设置以下属性:

"index.routing.allocation.enable": "none",
"index.routing.allocation.rebalance": "none"

我的期望是这样做会将所有 5 个分片保留在主节点上。但是,一旦我将工作节点连接到环境,每个索引中的 2 或 3 个分片就会移动到工作节点!如何阻止这种情况发生并将指定索引的所有分片保留在主节点上?谢谢!

【问题讨论】:

【参考方案1】:

我认为您需要进行分片分配过滤以指定允许哪些节点托管特定索引的分片。

https://www.elastic.co/guide/en/elasticsearch/reference/current/shard-allocation-filtering.html

【讨论】:

以上是关于禁用分配的单个副本的意外 ElasticSearch 分片分配的主要内容,如果未能解决你的问题,请参考以下文章

在并发情况下,Elasticsearc 如果保证读写一致?

如何将每个 .csv 文件分配给单个子图?

mysql-处理Slave意外停止

负载分配在 Kubernetes 中不起作用,请求将发送到单个 pod

将项目添加到列表的副本意外行为

编辑其副本时 Pandas DataFrame 中的意外转换