天天看點

【hadoop】DataNode,NameNode,JobTracker,TaskTracker用jps檢視無法啟動解決辦法

start-all.sh和jps後出現一下問題

[email protected]:/opt/hadoop-/bin# sh start-all.sh
starting namenode, logging to /opt/hadoop-/bin/../logs/hadoop-root-namenode-ubuntu.out
localhost: starting datanode, logging to /opt/hadoop-/bin/../logs/hadoop-root-datanode-ubuntu.out
localhost: starting secondarynamenode, logging to /opt/hadoop-/bin/../logs/hadoop-root-secondarynamenode-ubuntu.out
localhost: Exception in thread "main" java.net.BindException: Address already in use
localhost:  at sun.nio.ch.Net.bind0(Native Method)
localhost:  at sun.nio.ch.Net.bind(Net.java:)
localhost:  at sun.nio.ch.Net.bind(Net.java:)
localhost:  at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:)
localhost:  at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:)
localhost:  at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:)
localhost:  at org.apache.hadoop.http.HttpServer.start(HttpServer.java:)
localhost:  at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.initialize(SecondaryNameNode.java:)
localhost:  at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.<init>(SecondaryNameNode.java:)
starting jobtracker, logging to /opt/hadoop-/bin/../logs/hadoop-root-jobtracker-ubuntu.out
localhost: starting tasktracker, logging to /opt/hadoop-/bin/../logs/hadoop-root-tasktracker-ubuntu.out
[email protected]:/opt/hadoop-/bin# jps
 Jps
 NameNode
 -- process information unavailable
           

“Exception in thread “main” java.net.BindException: Address already in use”這個是端口占用問題

有前輩給我指出一道路:**先從日志中找是哪個端口被占用了

然後在“netstat -anp”檢視是哪個程序占用了該端口,kill掉應該就可以了**

自己的解決辦法:首先了解一下内容,DataNode,NameNode,JobTracker,TaskTracker各個端口号

Hadoop的常用WEB端口

Hadoop對外提供了可供通路的http server,開放了很多端口,下面介紹常用的幾個端口:

50070端口

檢視NameNode狀态;

該端口的定義位于core-default.xml中,可以在core-site.xml中修改;

如果通過該端口看着這個頁面,以為着NameNode節點是存活的。

50075端口

檢視DataNode;

該位址和端口的定義位于hdfs-default.xml中,可以在hdfs-site.xml中修改。

50090端口

檢視SecondaryNameNode。

50030端口

檢視JobTracker狀态的;

該端口定義在mapred-default.xml中,可以在mapred-site.xml中修改。

50060端口

檢視TaskTracker

該端口定義位于mapred-default.xml,可以在mapred-site.xml中修改。

其次,用一下指令解決:

root@ubuntu:~# lsof -i:50090
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java     root   u  IPv6        0t  TCP *: (LISTEN)
root@ubuntu:~# kill -9 16073
           

這樣就kill掉了這個程序,端口占用問題解決了。重新start-all.sh,jps後就有DataNode,NameNode,JobTracker,TaskTracker

繼續閱讀