dolphinscheduler部署排错记录

dolphinscheduler部署至K8S集群上的遇到的坑

问题

问题出现场景:

​ 在部署完ui, worker, master, api四个模块之后,随手建了一个工作流,点击运行的时候,在master节点上出现这个报错。

猜测原因

发送方发送的消息和接收方接收的消息格式不一致,导致报的这个错,但是程序在本地环境上打包成镜像是可以正常跑流程的,部署到K8S之后就出现了这个问题,代码中间也没有改动过,master和worker之间的RPC消息格式一定是一致的。

因此猜测是有其它请求访问了master或者worker节点,导致出现了这个问题。

排错过程

首先是寻找K8S集群和本地打包镜像的区别,网络通信会有区别,查看dolphinscheduler注册的k8s上的node信息。

在worker和master的pod上分别ping对应的ip,发现都可以通。随后陷入了很长一段时间的懵逼过程。

最后在dolphinscheduler的issue中找到同款报错。

内心狂喜,因为K8S上存在健康检查,而本地搭建镜像并不存在每隔一段时间的健康检查。随后查看健康检查的脚本,发现了在worker节点中,K8S系统会每隔一段时间去访问worker的1234端口,正好是worker用来和master进行RPC通信的端口,随后重写了一个http的健康检查端口,打包发版,问题解决。

相关推荐
月落汀兰3 小时前
为什么跨网桥容器 ping 不通?Docker 网络模式详解,端口映射、容器访问外网底层实战
网络·docker·容器
Zhu7583 小时前
在k8s环境中,离线部署与使用Topograph
云原生·容器·kubernetes
凯歌的博客5 小时前
docker镜像代理
运维·docker·容器
A.说学逗唱的Coke5 小时前
【人工智能专题】PolarDB 深度解析:存算分离到 AI Lakebase,云原生数据库的架构演进与实战指南
数据库·人工智能·云原生
ToddyBear5 小时前
从 Pod 编排到数据互联:基于 K8s 与 Snowflake 打造下一代异构查询桥梁实践
云原生·容器·kubernetes
A-刘晨阳6 小时前
GitLab + ArgoCD 实现 Kubernetes GitOps 自动化部署
运维·人工智能·git·kubernetes·自动化·云计算·argocd
张小凡vip6 小时前
Kubernetes--k8s---了解和使用 ServiceAccount
容器·贪心算法·kubernetes
流星白龙6 小时前
【Docker】13.容器基本操作实战
运维·docker·容器
还卿一钵无情泪21 小时前
Docker 部署Unsloth 绕开环境配置难题
运维·人工智能·docker·ai·容器·nlp·干货
打工仔折腾 AI1 天前
Docker镜像分层与卷挂载到底怎么工作:一次文件系统层面的实测分析
运维·人工智能·后端·python·docker·容器·性能优化