记dolphinScheduler1.3.3由于zookeeper引起的bug

记dolphinScheduler1.3.3由于zookeeper引起的bug,第1张

记dolphinScheduler1.3.3由于zookeeper引起的bug

1.背景

通过ds的调度中的datax节点将mysql的数据导入到hdfs形成ods层数据,每次导入的是当天新增与变化的数据,然后dwd层是以数据的创建时间划分的日期分区(当然这些不是重点)。

2.问题复现

集群是通过cdh进行部署的,然后在周六的时候因为zookeeper的某些延迟原因导致挂掉了,集群重启也没能很好的解决这个问题,但是呢好歹运行起来了,接着尝试重跑失败的工作流,虽然跑的速度比平时慢了点但是好歹也跑完了。

周一来上班之后,业务人员反馈数据不准确的问题,然后开始排查问题所在。

3.分析问题

然后发现dwd层的数据会有重复的情况,查看ods层表的数据发现也没有重复(这里实际是重复了,只是每小时覆盖一次将重复情况覆盖了),仔细排查ods到dwd的sql也不可能存在数据重复的情况 ,思来想去想去只有可能是datax导数的节点重复运行了,之后去ds任务实例查找发现某个重跑的任务在同一时刻被调度了两次,导致datax导入了两次。

3.解决问题

知道问题之后开始查找出现这个问题的原因,然后在github下的issue 发现有人也遇到了节点多次运行的情况是由于zookeeper不稳定的原因造成的。回想我周六集群挂的时候的确是由于zookeeper的原因挂掉的,所以这个问题终于是明白了,ds在1.3.3以下版本都会遇到这个问题,说是在新版本已经解决了,最后将ds升级到1.3.9解决了这个的问题。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5699957.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存