DolPhinScheduler在docker swarm环境下的启动:网卡问题

在Docker Swarm环境下部署DolphinScheduler时,可能会遇到Master节点与Worker节点之间无法通过RPC通信的问题。这通常是由于Master和Worker节点的IP地址与Swarm网络中的IP地址不一致导致的。

一、问题描述

在使用Docker Swarm启动DolphinScheduler集群时,Master节点与Worker节点之间的RPC通信失败。经过排查发现,Master节点和Worker节点注册到Zookeeper中的IP地址并非Swarm网络中的IP地址,而是宿主机的物理网卡IP地址。例如,Master节点的IP地址可能是192.168.56.10,而Worker节点的IP地址可能是192.168.56.9,这些IP地址与Swarm网络中的IP地址(如10.0.0.2)不匹配。

这种IP地址不一致的问题会导致Master节点无法正确找到Worker节点,从而无法正常分发任务。

二、问题分析

先查询zk集群节点的zk信息

进入zk当中

bash 复制代码
./zkCli.sh -server localhost:2181 

查询某一个节点的信息

bash 复制代码
ls /ds/nodes/master  
get /ds/nodes/master  

查询到zk的节点信息(192.168.56.10)跟docker swarm网络当中容器的节点信息(10.0.0.2)不一致

看DolphinScheduler代码,如何获取ip信息

查找到有一个getHost函数

进一步找到可以通过配置参数指定网卡

三、解决方案

指定Swarm网络的网卡接口

启动DolphinScheduler时,在环境变量当中设置如下指定网卡的值

makefile 复制代码
DOLPHIN_SCHEDULER_NETWORK_INTERFACE_PREFERRED: eth0

这样可以确保容器绑定到Swarm网络中指定的网卡接口。

相关推荐
java_logo1 小时前
Docker 部署 dockurr/windows:轻松搭建浏览器可控 Windows 虚拟机
运维·windows·docker·容器·虚拟机·kvm·轩辕镜像
谢亮_vipxieliang2 小时前
私有镜像仓库:Registry、Harbor 与镜像同步实战
网络·docker·容器
努力努力再努力wz3 小时前
【边缘计算入门系列】从“在哪里算”到“怎么算”:一文建立边缘计算、算子、计算图与 Tensor 的底层心智模型
人工智能·docker·边缘计算
江湖有缘4 小时前
3款开源IT工具箱整理合集,可Docker一键部署!
docker·容器·开源
旋生万物4 小时前
用螺旋数重写 Transformer Attention:让大模型自带“相位记忆“的 PyTorch 实现
docker·云原生·kubernetes·螺旋生成论·螺旋相位
余槐i5 小时前
-m 2g 反而更早 OOM:Docker 内存计数与宿主机空闲口径差异
java·linux·docker·性能优化·cgroup
风华同学5 小时前
Docker镜像换源
运维·docker·容器
Stark-C6 小时前
IDM的免费替代,老牌下载器时隔三年再次更新,NAS部署Motrix
docker
谢亮_vipxieliang6 小时前
容器日志收集与管理:从 stdout 规范到 ELK/Loki 落地
运维·网络·人工智能·elk·docker·容器
羑悻的小杀马特6 小时前
Docker高阶实战:从Redis集群到C++微服务,全面解析镜像优化与生产环境部署+镜像制作常见问题详解
c++·redis·docker·镜像制作·dockefile