2016-04-25 109 views
0

我試圖用1個主和1個從不同的節點上配置的Hadoop在完全分佈式模式。我附上了一張屏幕截圖,顯示了我的主節點和從節點的狀態。的Hadoop名稱節點,無法啓動

在主: Ubuntu的@ Hadoop的主:在/ usr /本地/ Hadoop的在/ etc/Hadoop的$ $ HADOOP_HOME /斌/ HDFS dfsadmin -refreshNodes

refreshNodes:無法在本地例外:com.google .protobuf.InvalidProtocolBufferException:協議消息標記具有無效的線類型。主機詳細信息:本地主機是:「hadoop-master/127.0.0.1」;目的地主機是:「hadoop-master」:8020;

這是當我嘗試運行刷新節點的命令,我發現了錯誤。任何人都可以告訴我我錯過了什麼,或者我犯了什麼錯誤?

Master & Slave Screenshot

2016年4月26日03:29:17,090 INFO org.apache.hadoop.hdfs.server.namenode.FSNamesystem:停止服務開始爲待機狀態 2016年4月26日03: 29:17095信息org.mortbay.log:停止[email protected]:50070 2016年4月26日03:29:17095信息org.apache.hadoop.metrics2.impl.MetricsSystemImpl:停止NameNode的指標體系.. 。 2016-04-26 03:29:17,095 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl:NameNode指標系統已停止。 2016-04-26 03:29:17,096 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl:NameNode指標系統關閉完成。 2016-04-26 03:29:17,097錯誤org.apache.hadoop.hdfs.server.namenode.NameNode:無法啓動namenode。 java.net.BindException:將問題綁定到[hadoop-master:8020] java.net.BindException:地址已在使用中;有關詳細信息,請參閱:http://wiki.apache.org/hadoop/BindException 在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本機方法) 在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45 ) at org.apache.hadoop.net.NetUtils(java.lang.reflect.Constructor.newInstance(Constructor.java:526) at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:792) .wrapException(NetUtils.java:721) 在org.apache.hadoop.ipc.Server.bind(Server.java:425) 在org.apache.hadoop.ipc.Server $監聽器。(Server.java:574) at org.apache.hadoop.ipc.Server。(Server.java:2215) at org.apache.hadoop.ipc.RPC $ Server。(RPC.java:938) at org.apache.hadoop.ipc.ProtobufRpcEngine $ Server。(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.hdfs.server.namenode.NameNodeRpcServer。 (NameNodeRpcServer.java:344) at org.apache.hadoop.hdfs.server.namenode.NameNode.createRpcServer(NameNode.java:673) at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode的.java:646) 在org.apache.hadoop.hdfs.server.namenode.NameNode(NameNode.java:811) 在org.apache.hadoop.hdfs.server.namenode.NameNode(NameNode.java:795 ) 在org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1488) 在org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1554) 引起:java.net.BindException:地址已在使用 at sun.nio.ch.Net.bind0(Native Method) at sun.nio。ch.Net.bind(Net.java:463) at sun.nio.ch.Net.bind(Net.java:455) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) at org.apache.hadoop.ipc.Server.bind(Server.java:408) ... 13更多 2016-04-26 03: 29:17,103 INFO org.apache.hadoop.util.ExitUtil:正在退出狀態1 2016-04-26 03:29:17,109 INFO org.apache.hadoop.hdfs.server.namenode.NameNode:SHUTDOWN_MSG: /** ************************************************** ******** SHUTDOWN_MSG:關閉hadoop-master上的NameNode/127.0.0.1 *************************** *********************************/ ubuntu @ hadoop-master:/ usr/local/hadoop $

回答

0

DFS需要格式化。只需發出以下命令;

的Hadoop的NameNode -format

或者

HDFS的NameNode -format

+0

我用stop-dfs和start-dfs做了幾次,但我沒有改進 –

0

核心-site.xml中檢查你的NameNode的地址。更改爲50070或9000並嘗試

namenode Web UI的默認地址是http://localhost:50070/。您可以在瀏覽器中打開此地址並查看namenode信息。

namenode服務器的默認地址是hdfs:// localhost:8020 /。您可以連接到HDFS API以訪問HDFS。這是真正的服務地址。

http://blog.cloudera.com/blog/2009/08/hadoop-default-ports-quick-reference/

+0

感謝您的回覆。 我嘗試了兩種,但namenode沒有開始。如果名稱節點沒有啓動,那麼我們無法查看Web UI儀式。 –

+0

你可以發佈namenode日誌 – BruceWayne

+0

是的,我已經更新了這個問題 –

0

嘗試格式化名稱節點。 $] hadoop namenode -format

0

您的錯誤日誌清楚地表明它不能綁定默認端口。

java.net.BindException: Problem binding to [hadoop-master:8020] java.net.BindException: Address already in use; For more details see: http://wiki.apache.org/hadoop/BindException 

您需要將默認端口更改爲某個空閒的端口。

以下是hdfs-default.xmlhere中給出的端口列表。

+0

非常感謝。我的名字節點已經啓動,現在我可以看到Web UI。 我有一個新問題,活節點和數據節點的數量顯示爲0.但是,當我ssh進入我的從節點並鍵入'jps'時,它顯示爲數據節點進程正在運行。 –