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的健康检查端口,打包发版,问题解决。

相关推荐
阿里云云原生21 分钟前
云效智能评审:让团队规则持续生效
云原生
阿里云云原生1 小时前
智能聚类:从海量 Trace 中理解 Agent 的行为和表现
云原生·agent
阿里云云原生1 小时前
云栖丨AI 应用进入生产,开始拼「实时数据智能」
云原生
溜达的大象1 小时前
极空间部署Traggo时间追踪工具:Docker安装、标签管理与cpolar远程访问
运维·docker·容器
脏脏a2 小时前
极空间部署 Dashlet:Docker 搭建私人导航仪表盘,再配置固定公网访问
运维·docker·容器
运维开发王义杰2 小时前
跳出网络与文件系统:Linux CPU 与内存调优的“防假死”实战
云原生
User_芊芊君子2 小时前
Prometheus接入Pushgateway实战:二进制与Docker部署、指标推送及远程上报
docker·容器·prometheus
江湖有缘4 小时前
3款开源日记工具整理合集,可Docker一键部署!
docker·容器·开源
Thneonl15 小时前
Flink Operator 的隐藏陷阱:容器名不是你以为的那个
安全·kubernetes
Thneonl15 小时前
kubectl scale ds 是个 404:DaemonSet 没有 replicas
安全·kubernetes