前因:
实验中搭建Hadoop分布式集群,配置完所有文件后启动集群,用jps查看只有SecondaryNameNode
和Jps
解决namenode:
查看日志:
日志后50条
tail -n 50 hadoop-root-namenode-master.log
由于第一次我删除了日志没有记录过程,所以直接给出结果:
大致原因也是如同下面的端口绑定错误,查询到使用阿里云的ECS得绑定私网IP地址(也就是你输ifconfig看到的),所以修改每台/etc/hosts
下与master对应的ip即可。
解决resourcemanager:
解决了如上问题后,启动start-yarn.sh发现resourcemanager又没了
同样方法查看后50条
tail -n 50 yarn-root-resourcemanager-master.log
2022-03-03 09:55:33,709 INFO org.apache.hadoop.yarn.util.AbstractLivelinessMonitor: AMLivelinessMonitor thread interrupted
2022-03-03 09:55:33,713 INFO org.apache.hadoop.yarn.util.AbstractLivelinessMonitor: org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.ContainerAllocationExpirer thread interrupted
2022-03-03 09:55:33,713 ERROR org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager: ExpiredTokenRemover received java.lang.InterruptedException: sleep interrupted
2022-03-03 09:55:33,714 INFO org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: Transitioned to standby state
2022-03-03 09:55:33,714 FATAL org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: Error starting ResourceManager
org.apache.hadoop.yarn.webapp.WebAppException: Error starting http server
at org.apache.hadoop.yarn.webapp.WebApps$Builder.start(WebApps.java:279)
at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.startWepApp(ResourceManager.java:974)
at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.serviceStart(ResourceManager.java:1074)
at org.apache.hadoop.service.AbstractService.start(AbstractService.java:193)
at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.main(ResourceManager.java:1208)
Caused by: java.net.BindException: Port in use: 0.0.0.0:8088
at org.apache.hadoop.http.HttpServer2.openListeners(HttpServer2.java:919)
at org.apache.hadoop.http.HttpServer2.start(HttpServer2.java:856)
at org.apache.hadoop.yarn.webapp.WebApps$Builder.start(WebApps.java:274)
... 4 more
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.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:216)
at org.apache.hadoop.http.HttpServer2.openListeners(HttpServer2.java:914)
... 6 more
再一次看到了BindException
还看到了隐式地址0.0.0.0:8088
回去查看之前配置的文件yarn-site.xml
,修改对应的value
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>私网ip:8088</value>
</property>
重新格式化namenode,重启hadoop即可。
在master上查看进程
在slave上查看进程
感谢:
https://blog.youkuaiyun.com/u010180815/article/details/79070870/