我有什么:
elasticsearch(7.7.0)群集(amazon/opendistro for elas)ticsearch:1.8.0 docker 图像)
一个主节点
一个协调节点
两个数据节点 node.attr.data=hot
一个数据节点 node.attr.data=warm
我想要什么:防止碎片从热数据节点分配和重新定位到热(将来是冷)数据节点。
我尝试了什么:
我已经把 "index.routing.allocation.require.data": "hot"
对于所有索引模板,因此新创建的索引将不会分配给热数据节点以外的任何节点。这个很好用。
无论如何,我不能限制碎片从热节点重新定位到热节点。目前我正在使用 "cluster.routing.allocation.exclude._ip" : "warm data node ip"
防止从热数据节点重新定位到热数据节点。但我是否可以将ilm与此筛选器一起使用?
我也试过
PUT _cluster/settings
{
"transient": {
"cluster.routing.allocation.awareness.attributes": ["data"]
}
}
PUT _cluster/settings
{
"transient": {
"cluster.routing.allocation.awareness.force.data.values": ["hot"]
}
}
然后取下 "cluster.routing.allocation.exclude._ip"
过滤器。碎片正在从热数据节点重新定位到热数据节点。我错过了什么?
2条答案
按热度按时间7rfyedvj1#
我认为您错过了ilm策略中的分配意识。你的暖相定义应该有
把它从你的定义中删除,它会解决你的问题。
对我来说,完全理解ilm的最佳文章是https://www.elastic.co/blog/implementing-hot-warm-cold-in-elasticsearch-with-index-lifecycle-management 您将在“针对冷热环境优化ilm策略”中找到一个完整的示例
bmvo0sr52#
我必须更新我的旧incides的设置:
如果索引模板被更新,则在某个索引模板下的索引将不会被更新。