0
点赞
收藏
分享

微信扫一扫

我可爱的卧龙凤雏同事又双叒叕搞了个BUG

小布_cvg 2022-03-11 阅读 48

亲爱的朋友们,我可爱的卧龙凤雏同事又双叒叕搞了个BUG


DolphinScheduler大家应该都用过,中国人开源的一个调度工具,类似Azkaban,本次的事情还是在DolphinScheduler上发生的。

背景

上一篇也提到过,某业务数仓要上云,把本地正常运行的任务弄到云上,DolphinScheduler相关的工作很简单,导出工作流再导入就可以了。

卧龙的操作

同事卧龙将工作流导入云上DolphinScheduler之后,执行工作流,发现没有生成任务实例,查看工作流实例,任务上的标志是暗的
在这里插入图片描述
查看日志发现
due to no suitable worker, current task need to edw worker group execute
在这里插入图片描述
此时DolphinScheduler版本是1.3.4,worker还需要在配置文件中配置,问题很快被我定位到,DolphinScheduler云上环境没有和本地完全一致,云上没有配置edw worker,而本地导出的工作流还用的是edw worker。如果自己创建工作流,worker只能选已有的,不会出现这种情况,这也算DolphinScheduler的小问题。


这时只要在配置文件中加上edw worker,或者在工作流中选已有的worker就可以了,然而没等我反馈,卧龙就把这事告诉了装DolphinScheduler的凤雏…

凤雏的操作

凤雏一听,想起了自己多年上网吧的经验,重启搞定一切,决定重装一个新版本DolphinScheduler 1.3.9
不得不说,凤雏确实是干活的一把好手,三下五除二就把新版本装上了,导入工作流后一执行,还是同样的问题。
在这里插入图片描述
这时凤雏想起我了,但是按照我之前的想法,选取已有的worker执行没有用,日志还是报找不到edw worker,这就很奇怪了,选的并不是edw worker。于是用方案2,新增一个edw worker,DolphinScheduler 1.3.9版本支持在页面上配置worker,然而新增edw worker提示已存在,无法创建,去mysql查看元数据信息,也没有edw worker。这就让我百撕不得骑姐了,到底这个edw worker存在哪里呢…

最终解决

经过我一番查找,终于发现了edw worker信息存在zookeeper上,凤雏卸载上个版本时没有把这个清理干净,zk上delete之后在页面新增edw worker,问题解决。

总结

虽然卧龙凤雏的操作很亮眼,但也暴露出DolphinScheduler的一些问题,如导入工作流时,不把不存在的worker置空;worker信息的保存位置混乱,老版本存在zookeeper上,新版本存在mysql,但是新版本还会读取zookeeper数据。

举报

相关推荐

0 条评论