在使用批量启动命令start-yarn.sh
启动yarn集群时出错,查看日志发现如下错误:
Caused by: java.net.BindException: Problem binding to [chdp02:8031] java.net.BindException: 无法指定被请求的地
址; 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:792)
at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:721)
at org.apache.hadoop.ipc.Server.bind(Server.java:425)
at org.apache.hadoop.ipc.Server$Listener.<init>(Server.java:574)
at org.apache.hadoop.ipc.Server.<init>(Server.java:2215)
at org.apache.hadoop.ipc.RPC$Server.<init>(RPC.java:938)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Server.<init>(ProtobufRpcEngine.java:534)
at org.apache.hadoop.ipc.ProtobufRpcEngine.getServer(ProtobufRpcEngine.java:509)
at org.apache.hadoop.ipc.RPC$Builder.build(RPC.java:783)
at org.apache.hadoop.yarn.factories.impl.pb.RpcServerFactoryPBImpl.createServer(RpcServerFactoryPBImpl.java:169)
at org.apache.hadoop.yarn.factories.impl.pb.RpcServerFactoryPBImpl.getServer(RpcServerFactoryPBImpl.java:132)
... 17 more
大意是无法绑定指定地址,在这里配置chdp02为resourcemanager,chdp01为namenode。
在chdp01启动hdfs集群是正常的,但在chdp01启动yarn集群时出现如上述错误。
解决:
打开start-yarn.sh脚本文件发现有如下注释:
就像hdfs启动一样需要在namenode上使用start-dfs.sh
启动hdfs集群,yarn也需要在resourcemanager节点处来启动yarn集群。
在此换成chdp02上执行start-yarn.sh
启动yarn集群,启动成功。