我有什么:
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"
过滤器。碎片还是从热数据节点移到热数据节点。我想念什么?
最佳答案
我认为您错过了ILM政策中的分配意识。
您的暖相定义应具有
"allocate": {
"require": {
"data": "warm"
}
}
从定义中删除它,它应该可以解决您的问题。对我来说完全了解ILM的最佳文章是
https://www.elastic.co/blog/implementing-hot-warm-cold-in-elasticsearch-with-index-lifecycle-management
您可以在“针对热-热-冷优化ILM策略”中找到完整的示例。
关于elasticsearch - 如何防止碎片从热节点迁移到热节点或冷节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64587026/