滚动重启期间bulk写入数据,bulk部分失败,报primary shard is not active Timeout: [1m]
Elasticsearch | 作者 luxx | 发布于2019年06月27日 | 阅读数:13933
版本6.7.1,3个节点,1节点上EsMaster,2节点上EsMaster、EsClient、EsNode1、EsNode2,3节点上EsMaster、EsClient、EsNode1、EsNode2。
保持写入数据,滚动重启的过程如下:
1.设置cluster.routing.allocation.enable为none;
2.触发_flush/synced(同步刷新不一定能成功)
3.重启节点
4.设置cluster.routing.allocation.enable为all;
5.等待集群状态恢复为green;
6.重复1~5步骤,直至所有节点重启完成。
问题:
在停止某节点后,bulk的response中会有失败的条目,报错为primary shard is not active Timeout: [1m], request: [BulkShardRequest [[myindex-002][3]] containing [198] requests]","type":"unavailable_shards_exception"},"status":503
bulk内部json失败的原因是主分片不可用超时1分钟。
考虑该节点在停止的时候,该节点上的主分片应该已经转到其副本分片所在的节点上去了,为什么会报这个错?
做了实验,在不写数据的情况下,停止某个节点,分片的主副倒换是瞬间完成的。
怀疑是否和只有两个数据节点有关,是否在一个实例停止时,会导致主副倒换变慢。
求教各位。
保持写入数据,滚动重启的过程如下:
1.设置cluster.routing.allocation.enable为none;
2.触发_flush/synced(同步刷新不一定能成功)
3.重启节点
4.设置cluster.routing.allocation.enable为all;
5.等待集群状态恢复为green;
6.重复1~5步骤,直至所有节点重启完成。
问题:
在停止某节点后,bulk的response中会有失败的条目,报错为primary shard is not active Timeout: [1m], request: [BulkShardRequest [[myindex-002][3]] containing [198] requests]","type":"unavailable_shards_exception"},"status":503
bulk内部json失败的原因是主分片不可用超时1分钟。
考虑该节点在停止的时候,该节点上的主分片应该已经转到其副本分片所在的节点上去了,为什么会报这个错?
做了实验,在不写数据的情况下,停止某个节点,分片的主副倒换是瞬间完成的。
怀疑是否和只有两个数据节点有关,是否在一个实例停止时,会导致主副倒换变慢。
求教各位。
1 个回复
xiaoyanghapi - Elasticsearch 爱好者
赞同来自: