Hadoop ResourceManager无法启动

时间:2014-02-04 03:05:27

标签: hadoop

我收到以下错误,但netstat显示8088未使用。

这是一个3节点集群,Namenode,Jobtracker,Datanode在不同的EC2实例上运行

2014-02-04 02:49:43,519 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:262)
        at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.startWepApp(ResourceManager.java:623)
        at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.serviceStart(ResourceManager.java:655)
        at org.apache.hadoop.service.AbstractService.start(AbstractService.java:193)
        at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.main(ResourceManager.java:872)
Caused by: java.net.BindException: Port in use: jobtracker.hdp-dev.XYZ.com:8088
        at org.apache.hadoop.http.HttpServer.openListener(HttpServer.java:742)
        at org.apache.hadoop.http.HttpServer.start(HttpServer.java:686)
        at org.apache.hadoop.yarn.webapp.WebApps$Builder.start(WebApps.java:257)
        ... 4 more
Caused by: java.net.BindException: Cannot assign requested address
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:444)
        at sun.nio.ch.Net.bind(Net.java:436)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:216)
        at org.apache.hadoop.http.HttpServer.openListener(HttpServer.java:738)
        ... 6 more
2014-02-04 02:49:43,522 INFO org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down ResourceManager at name01.hdp-dev.XYZ.com/10.xxx.xxx.xxx
************************************************************/

1 个答案:

答案 0 :(得分:0)

在基于Debian的系统上,你可以运行类似的东西 终端上的 apt-cache policy zookeeper 。该命令将列出包zookeeper可用的所有存储库。 如果包zookeeper可以从两个或更多的存储库中获得:例如:Ubuntu的Raring Universe存储库和CDH存储库。所以,你有一个问题。 特别理解这可能是包混合/匹配问题

解决方案:使用以下内容在 /etc/apt/preferences.d/cloudera.pref 创建文件:

Package: *
Pin: release o=Cloudera, l=Cloudera 
Pin-Priority: 501

创建此文件后,无需 apt-get update 。 这里,包的默认优先级是500.通过创建上面的文件,您为任何源指定为“Cloudera”(o = Cloudera)且来自Cloudera的repo(l = Cloudera)的包提供更高的优先级501这就是诀窍.. 希望这会有所帮助..