zhangzizhong2020 commented on issue #15059:
URL: 
https://github.com/apache/dolphinscheduler/issues/15059#issuecomment-1778910984

   
实际上没有任意一个配置文件是用来配置worker与master节点的,在env文件中配置的host只是scp资源时才用到的,同时需要注意zk注册目录的IP与zookeeper配置的IP没有关系。官网文档并没有给出配置的详情(文档较不友好),只有相关问题(FAQs)中提及《Q:zk
 中注册的 master 信息 ip 地址是 127.0.0.1,而不是配置的域名所对应或者解析的 ip 地址,可能导致不能查看任务日志》
   回答者回复:ds是根据hostname去/etc/hosts中找对应主机名称的host
   
   刚开始我也这么认为,于是我将hosts中IP的域名映射改成主机名,重启之后依旧没有作用
   于是,我想应该是跟配置文件和系统配置是无关的,很有可能是
   
   
无奈下,download了DS的源码,通过排查发现,worker与master等组件节点都调用common模块下NetUtils类的getHost(args)有参静态方法,下游调用getHost()方法,最后通过JavaAPI,获取网卡的IP,并存入集合,最终get(0)取第一个IP作为使用IP
   
   
因此,DS目前而言是无法手动通过配置文件去更改节点Host的,只能通过修改上述类方法,打包为dolphinscheduler-common-3.2.0.jar替换掉所有节点lib文件夹下的同名文件,来达到指定IP的目的。(当然也可以进行更深入的二次开发,支持读取外部文件来指定IP)
   
   注:不要修改worker,master或其它模块(会很麻烦),只需要修改common包下的NetUtils.getHost()方法即可作用全局。


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to