Elasticsearch 5.x基于索引的路由分配不生效问题排查
索引级路由分配配置未生效问题
这是关于集群及索引级别路由分配策略的衍生问题,此前对相关设置策略与实现细节存疑。尝试配置索引级路由分配规则后,动态配置未按预期生效。
当前索引配置
执行以下命令获取索引配置:
GET user/_settings?include_defaults=true&filter_path=**.routing.**
返回结果:
{ "user": { "settings": { "index": { "routing": { "allocation": { "include": { "size": "big", "rack": "compute" }, "exclude": { "rack": "storage" } } } } }, "defaults": { "index": { "routing": { "rebalance": { "enable": "ALL" }, "allocation": { "enable": "ALL", "total_shards_per_node": "-1" } } } } } }
当前集群配置
执行以下命令获取集群配置:
GET _cluster/settings?include_defaults=true&filter_path=**.routing.**
返回结果:
{ "transient": { "cluster": { "routing": { "rebalance": { "enable": "all" }, "allocation": { "disk": { "watermark": { "low": "90%" } }, "enable": "all", "total_shards_per_node": "1000" } } } }, "defaults": { "cluster": { "routing": { "allocation": { "node_concurrent_incoming_recoveries": "2", "disk": { "threshold_enabled": "true", "watermark": { "high": "90%" }, "include_relocations": "true", "reroute_interval": "60s" }, "node_initial_primaries_recoveries": "4", "awareness": { "attributes": "" }, "balance": { "index": "0.55", "threshold": "1.0", "shard": "0.45" }, "same_shard": { "host": "false" }, "node_concurrent_outgoing_recoveries": "2", "allow_rebalance": "indices_all_active", "cluster_concurrent_rebalance": "2", "node_concurrent_recoveries": "2", "type": "balanced", "snapshot": { "relocation_enabled": "false" } } } } } }
配置未生效的依据
user索引的_cat/shards结果显示,分片分布在所有类型节点上,包含已被排除标签的节点:
user 1 r STARTED ... ... search02 user 1 p STARTED ... ... search05 user 1 r STARTED ... ... search22 user 3 r STARTED ... ... search21 user 3 r STARTED ... ... search10 user 3 p STARTED ... ... search26 user 2 r STARTED ... ... search09 user 2 r STARTED ... ... search08 user 2 p STARTED ... ... search11 user 4 p STARTED ... ... search06 user 4 r STARTED ... ... search15 user 4 r STARTED ... ... search27 user 0 r STARTED ... ... search35 user 0 p STARTED ... ... search36 user 0 r STARTED ... ... search20
问题
我是否遗漏了某些配置?或者该配置变更需要滚动重启K8s集群中的数据节点Pod才能生效?
更新:补充节点属性信息
执行以下命令获取节点属性:
GET _cat/nodeattrs?v
返回结果:
node host ip attr value search17 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search20 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search13 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search15 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search28 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search01 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search21 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search12 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search31 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search19 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search08 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search35 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search10 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search14 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search27 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search36 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search33 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search09 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search16 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search29 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search24 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search11 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search18 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search07 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search34 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search23 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search22 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search26 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search37 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search06 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search32 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search04 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search02 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search03 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search00 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search05 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search30 10.xx.xx.xx 10.xx.xx.xx ml.enabled true search25 10.xx.xx.xx 10.xx.xx.xx ml.enabled true
内容的提问来源于stack exchange,提问作者Naman
相关产品推荐
相关产品推荐

