ambari server2.7.3启动YARN时报错:Starting RegistryDNSServer报错

一、错误信息

************************************************************/
2020-04-20 16:13:13,439 INFO  dns.PrivilegedRegistryDNSStarter (LogAdapter.java:info(51)) - registered UNIX signal handlers for [TERM, HUP, INT]
2020-04-20 16:13:13,642 INFO  dns.RegistryDNS (RegistryDNS.java:initializeChannels(195)) - Opening TCP and UDP channels on /0.0.0.0 port 53
2020-04-20 16:13:13,654 ERROR dns.PrivilegedRegistryDNSStarter (PrivilegedRegistryDNSStarter.java:init(61)) - Error initializing Registry DNS
java.net.BindException: Problem binding to [centos771:53] java.net.BindException: Address already in use; For more details see:  http://wiki.apache.org/hadoop/BindException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:831)
    at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:736)
    at org.apache.hadoop.registry.server.dns.RegistryDNS.openUDPChannel(RegistryDNS.java:1016)
    at org.apache.hadoop.registry.server.dns.RegistryDNS.addNIOUDP(RegistryDNS.java:925)
    at org.apache.hadoop.registry.server.dns.RegistryDNS.initializeChannels(RegistryDNS.java:196)
    at org.apache.hadoop.registry.server.dns.PrivilegedRegistryDNSStarter.init(PrivilegedRegistryDNSStarter.java:59)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.commons.daemon.support.DaemonLoader.load(DaemonLoader.java:207)
Caused by: java.net.BindException: Address already in use
    at sun.nio.ch.Net.bind0(Native Method)
    at sun.nio.ch.Net.bind(Net.java:433)
    at sun.nio.ch.DatagramChannelImpl.bind(DatagramChannelImpl.java:702)
    at sun.nio.ch.DatagramSocketAdaptor.bind(DatagramSocketAdaptor.java:91)
    at org.apache.hadoop.registry.server.dns.RegistryDNS.openUDPChannel(RegistryDNS.java:1014)
    ... 8 more

二、分析原因

启动yarn server时需要用到dns常用端口53进行注册,错误提示显示 绑定到主机centos771的53号端口时(Problem binding to [centos771:53])地址已经被使用(Address already in use)。但经过分析,实际上是53号端口被占用,导致yarn server启用53端口不成功。

查找原因方法如下:

netstat -tunpl |grep 53 看端口号53被哪个进程占用,而且观察53号端口绑定在哪个接口上面,我的机器显示被绑定在虚拟网桥上面virbr0,这是因为cento7(1908)在安装时默认安装了虚拟服务器组件,并设置了默认网桥,配置了默认ip。

而且启动了默认的dns服务:

这样导致yarn server 无法使用53号端口,而启动失败。

三、解决办法

1、如果需要使用dns,则dns server的默认端口是53,也就是说有可能需要使用虚拟服务器或者dns服务器,则53端口是默认的端口号,这时可以考虑更改ambari server的YARN Registry DNS Bind Port,这样就不会冲突。过程如下:

(1)打开Ambari管理界面并进入YARN管理界面。

(2)点击CONFIGS,进入配置界面。

(3)点击ADVANCED进入高级设置中修改DNS端口号,将53修改成其他不被占用的端口即可。
(4)重启集群,YARN正常启动。

2、如果不需要网桥,也就是暂时不需要使用虚拟化服务设施,则可以选择关闭网桥。过程如下:

(1)查看接口信息

(2)brctl show,显示网桥信息

(3)关闭网桥ifconfig virbr0 down

(4)删除网桥

brctl delbr virbr0

(5)再查看已无网桥并没有53号端口的占用情况,且yarn启动没有警告信息。

(6)彻底关闭虚拟化服务(禁止自启动)

systemctl disable libvirtd

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值