记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解决了这个的问题。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值