索引模板设置存放到cool节点,
创建索引可以正确存放在cool节点
迁移cool节点到hot节点成功
再想迁移到cool节点不成功
索引模板设置存放到hot节点,
创建索引可以正确存放在hot节点
迁移hot节点到cool节点失败
PUT xiaoke/_settings
{
"index.routing.allocation.require.box_type": "cool"
}
GET xiaoke/_settings
{ "xiaoke": { "settings": { "index": { "routing": { "allocation": { "require": { "box_type": "cool" } } }, "refresh_interval": "3s", "number_of_shards": "6", "provided_name": "xiaoke", "creation_date": "1556008528044", "number_of_replicas": "1", "uuid": "9GB83tEMSUCuY47bz__hPw", "version": { "created": "6050099" } } } } }
Close
结果显示box_type为cool,但实际存放在hot节点上。
结论:hot节点无法迁移到cool节点,但是原因未知.....
冷热节点已完成,请看截图。现在可以把cool节点数据到hot,但是无法把hot的数据到cool
GET /_cat/nodeattrs?v&h=host,node,attr,value
10.144.46.115 node-11 box_type hot
10.144.46.116 node-12 box_type hot
10.144.46.117 node-13 box_type hot
10.144.46.118 node-14 box_type hot
10.144.46.139 node-15 box_type hot
10.144.46.140 node-16 box_type hot
10.144.45.77 node-1 box_type cool
10.144.45.78 node-2 box_type cool
10.144.45.79 node-3 box_type cool
10.144.45.80 node-4 box_type cool
10.144.45.81 node-5 box_type cool
创建索引可以正确存放在cool节点
迁移cool节点到hot节点成功
再想迁移到cool节点不成功
索引模板设置存放到hot节点,
创建索引可以正确存放在hot节点
迁移hot节点到cool节点失败
PUT xiaoke/_settings
{
"index.routing.allocation.require.box_type": "cool"
}
GET xiaoke/_settings
{ "xiaoke": { "settings": { "index": { "routing": { "allocation": { "require": { "box_type": "cool" } } }, "refresh_interval": "3s", "number_of_shards": "6", "provided_name": "xiaoke", "creation_date": "1556008528044", "number_of_replicas": "1", "uuid": "9GB83tEMSUCuY47bz__hPw", "version": { "created": "6050099" } } } } }
Close
结果显示box_type为cool,但实际存放在hot节点上。
结论:hot节点无法迁移到cool节点,但是原因未知.....
冷热节点已完成,请看截图。现在可以把cool节点数据到hot,但是无法把hot的数据到cool
GET /_cat/nodeattrs?v&h=host,node,attr,value
10.144.46.115 node-11 box_type hot
10.144.46.116 node-12 box_type hot
10.144.46.117 node-13 box_type hot
10.144.46.118 node-14 box_type hot
10.144.46.139 node-15 box_type hot
10.144.46.140 node-16 box_type hot
10.144.45.77 node-1 box_type cool
10.144.45.78 node-2 box_type cool
10.144.45.79 node-3 box_type cool
10.144.45.80 node-4 box_type cool
10.144.45.81 node-5 box_type cool
4 个回复
xiaoke - http://blog.51cto.com/kexiaoke
赞同来自: rochy
因为我做冷热分离,我是新加了6台ssd硬盘的机器,但是没有注意到机器上的ES版本是6.5.1,而原来的机器的版本是6.5.0
在看一篇文章《Elasticsearch底层系列之Shard Allocation机制》里面有说到所有的Allocation由上面14个策略组成,通过全部的策略该Node才是一个符合策略条件的目标Node,允许进行后面的分片分配过程。
因为我新增的Hot节点是6.5.1版本,而之前的cool节点是6.5.0节点,所以,我可以从cool节点到hot节点,但是我无法从hot节点到cool节点。而原因就是因为NodeVersionAllocationDecider策略。
PS:因为NodeVersionAllocationDecider导致没有分片迁移,日志没有任何输出相关信息。。。
xiaoke - http://blog.51cto.com/kexiaoke
赞同来自:
"acknowledged" : true
}。但是就是没有执行迁移动作。。
rochy - rochy_he
赞同来自:
xiaoke - http://blog.51cto.com/kexiaoke
赞同来自: