关于ES merge操作

需求是这样的:
正式环境有一个ssd为master,同时也是hot节点,其他的都是机械硬盘,warm节点,想问下,如何做到,merge的时候判断集群的健康程度(io、cpu等),然后在执行merge操作,再然后迁移至warm节点?
 
或者有没有相关的资料?
已邀请:

kennywu76 - wood@Ctrip

赞同来自:

我想你说的是forcemerge? forcemerge是针对index做的,通过uodate index的routing设置,可以将热索引路由并迁移到ssd结点,然后对该索引执行forcemerge操作即可。

yayg2008

赞同来自:

看楼主这种集群设计,是想把热点数据放到hot,非热点转移到warm。这不是merge做的事。merge是针对一个index下的一个shard,将多个segment合并成一个大的segment。

fanmo3yuan

赞同来自:

merge前可以判断一下机器的资源使用情况,如CPU,load,io等,forcemerge对资源消耗很严重。最好是有节点级别的监控,如果没有的话可以使用ES的api去查看 GET _cat/nodes?v

zqc0512 - andy zhou

赞同来自:

你可以根据数据写入量来判断呢。一般凌晨1-2点写入数据量少,具体问题具体分析,
这个forcemerge根据你的索引数据量来的,一般很耗费时间的。用 curator 进行段合并和修改索引状态吧。
让他自己飞一会,hot warm cool 这玩意 对大集群有稀奇古怪的问题,特别是查询的时候,我原来搞个这个,后来放弃了,直接把集群拆分成几个小集群,用cross cluster来搞。
 

要回复问题请先登录注册