目录
一、事故经过
二、事故原因
三、问题总结
四、后续处理方案
一、事故经过
12月8日早上8点左右 发现系统不停报错,报错信息如下:
amnOkN_kRXGMwU3qmULUxA, primary term: 1 on EsThreadPoolExecutor[name = node10.18.47.130-data/write,
queue capacity = 200,
org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor@e4f2d50[Running, pool size = 48, active threads = 48, queued tasks = 216, completed tasks = 1718542875]]"},"status":429}
at org.elasticsearch.client.RestClient.convertResponse(RestClient.java:260)
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:238)
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:212)
at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1433)
... 99 common frames omitted
经过与排查与沟通,发现是ES发生了限流,导致ES集群出现部分不可写的情况。
8点40左右,把MQ堆积的数据,全部都不写入到ES,重启ES集群
10点左右,ES集群恢复正常功能
二、事故原因
经过排查,是由于12月8日凌晨4点左右,大数据大批量同步数据到lsrm系统,lsrm系统同步供应商信息到MDM,导致某一时刻,数据量达到6G,ES触发了限流,部分不可写,从而导致MDM的ES数据不能及时更新
三、问题总结
目前DC高可用方案,针对的是整个ES集群宕机的情况,不能覆盖ES集群可读,部分不可写的情况。
针对这种情况,在写入ES时,做限流操作,限制写入ES的流量,保证ES操作的正常,事后可以通过刷数据的方式,保证数据的最终一致性。
四、后续处理方案
1、写入时,熔断限流,保证ES运行正常,不影响其他数据的写入文章来源:https://www.toymoban.com/news/detail-601569.html
2、发生熔断限流时,产生告警,及时通知对应的人员。文章来源地址https://www.toymoban.com/news/detail-601569.html
到了这里,关于ES限流导致ES数据更新不及时问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!