我们在群集中有2x64GB计算机和2x16GB计算机,我们每天创建一个索引。要求是将新索引移动到64 GB计算机,将旧索引移动到16 GB计算机。如何用elasticsearch做到这一点?
答案 0 :(得分:3)
你需要"标记"您的节点并使用node.tag
属性指定哪个属性:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index-modules-allocation.html#shard-allocation-filtering。
您为每个64GB节点(每个节点一个)指定node.tag: large1
和node.tag: large2
。
然后,在创建索引时,使用"index.routing.allocation.include.tag" : "large1,large2"
(这些是64GB节点)指定您希望如何分配索引。当您决定将索引从两个节点移动到另外两个节点时,则更新上面的属性并指定"small1,small2"
例如(较小的16GB节点)。
我建议您查看Curator,这可以帮助您更改这些设置。
答案 1 :(得分:1)
这是一个两步过程
curl -XPUT localhost:9200/index-name/_settings -d '{ "index.routing.allocation.include.tag" : "big" }'