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

相关推荐
张洛闻Eren4 小时前
MySQL 维护稳定系统【MySQL第二课】
linux·数据库·mysql·云原生
Linux-18745 小时前
分布式链路追踪系统之skywalking 追踪案例
云原生·skywalking·分布式链路追踪系统·应用程序性能监控·skywalking java agent·skywalking python agent
虎头金猫6 小时前
如何在群晖NAS上通过Docker部署CloudSaver?群晖部署CloudSaver教程|聚合资源搜索并实现远程访问
运维·服务器·网络·python·docker·容器·pandas
mounter6258 小时前
MACsec 全景解析:从技术演进、核心架构到 DPU 硬件卸载与 K8s 大规模调度实战
linux·kubernetes·linux kernel·kernel·macsec
阿里云云原生9 小时前
当拨测遇上 APM:STAROps Agent 如何区分网络问题与后端问题
云原生
fatcoder13 小时前
玩转Docker 08 — 实战:容器化真实后端并编排
后端·docker·容器
皮皮蟹虾饺13 小时前
NCCL 源码解析:通信器从出生到消亡的完整一生
linux·人工智能·ubuntu·语言模型·kubernetes
江湖有缘16 小时前
5款开源wiki知识库工具,支持Docker快速部署!
docker·容器·开源
云烟成雨TD19 小时前
Micrometer 系列【68】统一观测:基于 Spring Boot 的生产级演示案例 | 跨进程场景
spring boot·云原生·链路追踪
云烟成雨TD19 小时前
Micrometer 系列【67】统一观测:基于 Spring Boot 的生产级演示案例 | 跨线程场景
spring boot·云原生·链路追踪