1、线上问题
线上问题描述:
症状:新增节点后,shard 没有分配到新节点上。如下图所示:
2、问题排查
我的大致排解思路:
如下第一、第二、第三......代表排查问题的推进步骤。
2.1 第一:确定节点角色划分,核实未被分配的节点类型。
2.2 第二:关闭索引再打开试试。
2.3 第三:独立创立一个新索引,设置3个副本。
2.4 第四:查看分片未分配的原因。
GET _cluster/allocation/explain 复制
2.5 第五:为什么设置?在哪里设置的?如何设置的?
为什么设置?
在哪里设置?
如何设置的?
PUT _cluster/settings{ "transient" : { "cluster.routing.allocation.exclude._ip" : "10.0.0.1" }}
复制
2.6 取消这个设置就会恢复新节点的分片分配。
PUT _cluster/settings{ "transient" : { "cluster.routing.allocation.exclude._ip" : "" }}
复制
3、我的几点观察和思考
3.1 关于 head 插件 和 Kibana dev tools 的选型
3.2 关于优化参数配置
3.3 关于设置,在哪个层面设置?
临时设置 永久设置 配置文件设置
静态设置 在索引创建阶段或者关闭索引阶段设置。 动态设置 通过 update-index-settings 方式随时更新设置。

3.4 设置生效容易,使得设置失效一样得会
You can reset persistent or transient settings by assigning a null value.
复制
也就是我们上面的命令行操作更严谨的写法应该是:
PUT _cluster/settings{ "transient" : { "cluster.routing.allocation.exclude._ip" : null }}
复制
如果有标准写法,上面的这个才是最正宗、最标准的写法。
4、小结
事后观察,只通过后面的第四、五、六步,就能定位问题的根本原因。
但,毕竟不在现场,多去了解问题的来龙去脉,更有助于辅助解决问题。
复盘总结一下,希望对大家也有所帮助。
参考
集群层面设置 https://www.elastic.co/guide/en/elasticsearch/reference/7.14//cluster-update-settings.html 索引层面设置 https://www.elastic.co/guide/en/elasticsearch/reference/7.x/index-modules.html
推荐


文章转载自铭毅天下Elasticsearch,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
数据库国产化替代深化:DBA的机遇与挑战
代晓磊
1330次阅读
2025-04-27 16:53:22
2025年4月国产数据库中标情况一览:4个千万元级项目,GaussDB与OceanBase大放异彩!
通讯员
808次阅读
2025-04-30 15:24:06
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
542次阅读
2025-04-17 17:02:24
一页概览:Oracle GoldenGate
甲骨文云技术
507次阅读
2025-04-30 12:17:56
GoldenDB数据库v7.2焕新发布,助力全行业数据库平滑替代
GoldenDB分布式数据库
484次阅读
2025-04-30 12:17:50
阿里云 Elasticsearch Serverless 检索增强型 8.17 版来袭!
阿里云大数据AI技术
381次阅读
2025-04-18 10:24:15
优炫数据库成功入围新疆维吾尔自治区行政事业单位数据库2025年框架协议采购!
优炫软件
370次阅读
2025-04-18 10:01:22
给准备学习国产数据库的朋友几点建议
白鳝的洞穴
357次阅读
2025-05-07 10:06:14
XCOPS广州站:从开源自研之争到AI驱动的下一代数据库架构探索
韩锋频道
320次阅读
2025-04-29 10:35:54
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
数据库运维之道
307次阅读
2025-04-28 11:01:25