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

标签 elasticsearch sharding

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

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

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

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

最佳答案

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

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

关于elasticsearch - 禁用分配的单个副本的意外ElasticSearch分片分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38109723/

相关文章:

mysql - MySQL Cluster 如何确定搜索哪些数据节点来进行 SELECT 查询?

mongodb - MongoDB 中好的分片键

elasticsearch - 找出在多匹配查询中匹配的字段

node.js elasticsearch API查询搜索请求发送POST方法而不是GET

elasticsearch - 匹配有效时,简单术语查询不适用于弹性

SolrCloud:是否可以在搜索结果中获取文档的分片 ID

elasticsearch - 无法使用 OCI Amazon S3 兼容性 API 配置 Elasticsearch 快照存储库

elasticsearch query_parse_exception 意外字符(':'(代码58)): was expecting comma to separate ARRAY entries\n

nosql - 分片与 DFS

MongoDB shardsvr 选项?