三人行必有我师

alias时超时的问题

Elasticsearch | 作者 BroA | 发布于2016年06月14日 | 阅读数:5885

我的系统现在有两个index分别是data1和data2,并且有个alias叫做data。
data每十分钟在data1和data2之间切换,
没有被设置alias的index会被其它处理删除,重建mapping,重建数据,然后等待alias切换。
 
alias切换Java代码(alias2时):
IndicesAliasesRequestBuilder aliasRequest = ElasticUtils.getTransportClientInstance().admin().indices().prepareAliases()
.addAlias("data2", "data")
.removeAlias("data1", "data");
IndicesAliasesResponse aliasResponse = aliasRequest.execute().actionGet();

 
问题:
正常情况下alias切换的执行时间<1s,但是偶尔(周一次?)alias切换时会超时并且服务器会出现以下警告日志
[2016-06-13 09:12:33,333][WARN ][cluster.service          ] [Node#2] cluster state update task [index-aliases] took 40.1s above the warn threshold of 30s
有哪位知道为什么会不定期的出现这种情况么?谢谢。
已邀请:

flowaters

赞同来自:

在集群负载过高的时候,是会出现cluster state update task超时的。

临时解决方法是:
1. 重试。
2. 延长超时时间。

长期解决方法是:
1. 看看为何此时负载过高。
2. 不要引入alias频繁切换的设计,这个设计有风险点。

 

要回复问题请先登录注册