故障现象:
Flink写入es进程全部停止,重启进程后报错:连接es超时
查看es状态正常,检查es节点发现有一个节点进程挂了,重启es节点,集群状态异常,节点报错如下:
failed to execute bulk item (index) index {[logfmt_705_2022121507][_doc][0MhzFIUB0tZrCg7rDUyF], source[n/a, actual length: [2kb], max length: 2kb]}
文章来源地址https://www.toymoban.com/news/detail-595608.html
报错分析:
es无法在默认时间内处理完任务,es的segment合并是一个很是耗时的操做。
批量处理的超时时间默认设置为30s。
常见引起超时的原因:
- 分片数过多,单节点的分片数不要超过1000个;
- 写入数据时自动建立索引;
- 大批量写入数据refresh时间间隔过短;
- 索引的字段数量太多
根据现场情况分析,因需求每小时会创建多个索引,因此使用的是自动建立索引,猜测可能为异常节点积压的创建索引任务,重启后导致es集群状态异常。
查看pending的任务,发现积压很多任务,其中存在大量索引创建任务。
curl -u elastic:password 127.0.0.0:9200/_cat/pending_tasks?v
查看积压的索引为过期索引,直接在es内批量删除索引,节点恢复正常,查看无积压任务。
文章来源:https://www.toymoban.com/news/detail-595608.html
到了这里,关于failed to execute bulk item (index) index的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!