我有什么
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"
过滤器。无论如何,碎片正在从热数据节点重新定位到温暖的数据节点。我遗漏了什么?
发布于 2020-10-29 14:27:38
我必须更新我的旧切口的设置:
PUT my-index/_settings
{
"index.routing.allocation.require.data": "hot"
}
如果索引模板被更新,则在特定索引模板下的索引将不会被更新。
发布于 2020-10-29 08:42:22
我想你错过了ILM政策中的分配意识。你的温暖阶段定义应该有
"allocate": {
"require": {
"data": "warm"
}
}
将其从您的定义中删除,它将解决您的问题。
对于我来说,最好的文章是https://www.elastic.co/blog/implementing-hot-warm-cold-in-elasticsearch-with-index-lifecycle-management,你会发现一个完整的例子,那就是“优化你的ILM策略以适应热、温、冷”。
https://stackoverflow.com/questions/64587026
复制相似问题