有10台机器构成一个集群,其中一个index,需要指定在第1-5台创建shard

使用cuartor脚本创建的分片总是随机在10台中的任意五台上,请问大家,有什么配置可以指定在那台机器上创建shard吗
已邀请:

novia - 1&0

赞同来自: katios

kennywu76 - wood@Ctrip

赞同来自: xinfanwang

可以对索引加上shard分配的路由设置,根据结点的属性来决定分在哪些结点上。 这些属性包括内置结点名称,IP一类的,也可以是用户在结点配置文件elasticsearch.yml里自定义的属性。
 
比如说,你可以给其中5台机器的elasticsearch.yml文件里增加属性:
node.attr.group:"group_01"
 
然后这样设置索引:
PUT index_foo/_settings
{
"index.routing.allocation.include.group": "group_01"
}

这样,这个索引的所有分片就只会分配到这5台机器上。
 
如果是日志型应用,每天都会创建新索引,可以将这个设置放到template里给新索引套用。 
参考; https://www.elastic.co/guide/e ... .html

要回复问题请先登录注册