启动Hadoop集群,Namenode和ResourceManager未起来的问题
前因:
实验中搭建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上查看进程 感谢: