即使是不成熟的尝试,也胜于胎死腹中的策略。

如何让主分片和副本分布到固定节点上

Elasticsearch | 作者 jiaofuyou | 发布于2016年01月13日 | 阅读数:8122

两个节点node1,node2
新建一索引,一个主分片'一个副本
如何让主分片在node1,副本在node2
已邀请:

spirit888h

赞同来自: Mr_Chen shwtz

首先要在各节点中配置node.group=XXX(自定义名字),之后,在elasticsearch.yml文件中配置awareness功能,使用
cluster.routing.allocation.awareness.attributes:group,这样可先控制主分片分配到你指定的group中

spirit888h

赞同来自: intergret

可以使用/_cluster/reroute,command中支持move,cancel,allocate

jiaofuyou

赞同来自:

或者这样说,我有三个节点node1,node2,node3
我发送一个PUT /index1 (1个分片,2个副本)
那么ES默认把主分片放到了哪个节点上?副本又放到了哪个节点上?这个是ES自动平衡的吧?我能显示的控制吗?比如我想让主分片放到node1上,副本放到node2上

我再PUT /index2时(1个分片,2个副本),主分片放到node1上,副本放到node3上

能实现吗?

zttech

赞同来自:

你这样做,能确保balance的话倒也行

jiaofuyou

赞同来自:

我都不知道能不能这样做

jiaofuyou

赞同来自:

主分片,我知道可以用这种办法可以控制
 
那副本呢,副本ES是如何分配的呢?能显示的控制吗?

jiaofuyou

赞同来自:

只能索引后,手动的使用move,cancel,allocation了,不能在索引配置级别完成,是吧

spirit888h

赞同来自:

目前,我还不知道可以配置。希望谁知道,分享一下

要回复问题请先登录注册