Flink导入数据报错The leader has changed. Try again later怎么补救呢??

大佬好,
1 因为我们现在是用在正式环境, 肯定不能单副本了, 之前也都是用单副本测试的, 多副本数据导入的时候, 首先我知道这是个已知问题, 但是在用Flink导入的时候怎么重试呢??? 怎么用代码实现呢? (在线急急急) –已经解决

  1. 其实我一直很疑惑, 一旦创建了多副本点后, 每个分区的leader和follower就已经确定了, meta在1-2个心跳内也就知道了, 但是为啥分区后续还要leader切换呢??? (前提: 节点都是OK的, 又没有挂), 还有另一种理解: 就是不管分区挂不挂, meta要定时的更新缓存分区的leader, 所以也就是说在更新期间对外提示就是这个报错??

storage-stderr.log日志

方便的话,可以把这个解决方法也附上吗,这样以后其他的人也可以学习下,谢谢 yangmeng,另外个问题就等研发同学回复你了

稍作修改, 希望指正 (如果需要的话, 重试后失败的可以吧失败的VID或者nqgl打印到日志中, 后续再次插入)
org.apache.flink.connector.nebula.sink.NebulaBatchExecutor#executeBatch

2 个赞

可以考虑用 exponential backoff retry ? 设置最大retry 次数?

哈哈, 不用那么高端了, 就简单的重试几次就可以了, 我已经实践了, 完全OK, 如果真要用retry的话, 这2种都能满足

我使用的导入13亿数据 , 如果出错了, 都是重试一次就OK

1 个赞

该话题在最后一个回复创建后30天后自动关闭。不再允许新的回复。

浙ICP备20010487号