namenode启动不了以及datanode启动不了的解决办法
首先我們都知道jps查看節點是否起來了
,如果namenode或者datanode沒有起來,那么
cd $HADOOP_HOME/logs
rm *
然后重新復現之前的問題,
./dfs-start.sh
--------------------------------namenode故障---------------------------------------------
如果是namenode啟動不了,那么就打開
hadoop-appleyuchi-namenode-ubuntu.log
查詢error字樣
例如出現:
There appears to be a gap in the edit log. We expected txid 1, but got txid?
解決方案:
hadoop namenode -recover
一路選擇y,一般就OK了(后來發現升級Hadoop也用這個辦法解決了。)
-------------------------------Datanode故障--------------------------------------------------
如果是datanode啟動不了,
同樣查看logs下面的文件
hadoop-appleyuchi-datanode-ubuntu.log
這里我們會發現,當我們修復完namenode以后,datanode就故障了,不能啟動了
解決方案:
查看hdfs-site.xml,從里面的定義我們看到namenode和datanode的具體位置
? ? ? ? ?<name>dfs.namenode.name.dir</name>
? ? ? ? ?<value>file:/home/appleyuchi/dfs/name</value>
? ? </property>
? ? <property>
? ? ? ? ?<name>dfs.datanode.data.dir</name>
? ? ? ? ?<value>file:/home/appleyuchi/dfs/data</value>
? ? </property>
</configuration>
用namenode文件夾中的VERSION文件中clusterID
替換
用datanode文件夾中的VERSION文件中的clusterID
即可.
-------------------------------------------------
最后切記:千萬不要動不動就格式化,格式化以后hdfs上面的數據就全部沒了!!!
-------------------------------------------------
第三次碰到這個問題,是在真實的集群中碰到的,辦法是,可以手動啟動datanode
hdfs datanode
---------------------------------------------------------------------------------------------------------------------------------------------------
第4次碰到這個問題,是因為其中一個節點重裝系統了,恢復如下:
mkdir -p ~/dfs/name
hadoop namenode -format
---------------------------------------------------------------------------------------------------------------------------------------------------
第5次碰到這個問題,
subl hadoop-appleyuchi-namenode-Desktop.out
報錯信息:
java.net.SocketException: Unresolved addressat sun.nio.ch.Net.translateToSocketException(Net.java:131)at sun.nio.ch.Net.translateException(Net.java:157)at sun.nio.ch.Net.translateException(Net.java:163)at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:76)at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:351)at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:319)at org.apache.hadoop.http.HttpServer2.bindListener(HttpServer2.java:1185)at org.apache.hadoop.http.HttpServer2.bindForSinglePort(HttpServer2.java:1216)at org.apache.hadoop.http.HttpServer2.openListeners(HttpServer2.java:1279)at org.apache.hadoop.http.HttpServer2.start(HttpServer2.java:1134)at org.apache.hadoop.hdfs.server.namenode.NameNodeHttpServer.start(NameNodeHttpServer.java:177)at org.apache.hadoop.hdfs.server.namenode.NameNode.startHttpServer(NameNode.java:869)at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:691)at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:937)at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:910)at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1643)at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1710) Caused by: java.nio.channels.UnresolvedAddressExceptionat sun.nio.ch.Net.checkAddress(Net.java:101)at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:218)at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)... 13 more此時看報錯信息就沒啥用了
Starting Web-server for hdfs at: http://https://account.jetbrains.com:443:9870
估計是和諧jetbrain的時候的hosts的地方(因為需要下載軟件,所以需要在hosts中注釋掉)
?
總結
以上是生活随笔為你收集整理的namenode启动不了以及datanode启动不了的解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu下sublime中修改字体
- 下一篇: sublime自定义主题-修改行号的颜色