[Hadoop] 启动HDFS缺少服务
生活随笔
收集整理的這篇文章主要介紹了
[Hadoop] 启动HDFS缺少服务
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
啟動Hadoop后使用JPS命令查看進程,發現只有NameNode和NodeManger。
?
原因:格式化兩次namenode。導致namenode和datanode中的CID不一致。
$ hadoop namenode -format?
解決方法:修改namenode和datanode的CID為同一個或者清除文件夾(先停止Hadoop所有服務)。
上述方法執行完沒有結果則查看端口號是否被占用。
第一種
查看Hadoop下的配置文件core-site.xml內容:
$ vim /opt/hadoop2.6.5/etc/hadoop/core-site.xml <property><name>hadoop.tmp.dir</name><value>/home/huasheng/app/hadoop-2.6.5/tmp/</value></property>?
發現臨時目錄在/home/huasheng/app/hadoop-2.6.5/tmp/ 下
$ cd /home/huasheng/app/hadoop-2.6.5/tmp/dfs$ ls
data? name? namesecondary
#name: namenode的信息
#data: datanode的信息
#查看name下的VERSION信息
$ cat name/current/VERSION
#Fri Mar 15 10:12:21 CST 2019
namespaceID=596602248
clusterID=CID-b604bc78-8f8a-4cf6-a02b-3ac257ebef93
cTime=0
storageType=NAME_NODE
blockpoolID=BP-139131966-192.168.142.129-1552615941181
layoutVersion=-60
#修改data下的clusterID
$ vim data/current/VERSION
#Fri Mar 15 10:37:33 CST 2019
storageID=DS-a9a026d4-3833-4086-91c4-17e68c157add
clusterID=CID-b604bc78-8f8a-4cf6-a02b-3ac257ebef93
cTime=0
datanodeUuid=b3848163-9ee4-4192-bc58-c96184c3dddd
storageType=DATA_NODE
layoutVersion=-56
啟動Hadoop即可。
?
第二種
直接刪除臨時目錄下文件,格式化namenode節點。
$ rm -rf /hadoop-2.6.5/tmp/$ hadoop namenode -format
啟動Hadoop即可。
?
但是我在測試的時候使用上述方法之后仍然沒有解決。
#打開日志文件$ cd /hadoop-2.6.5/logs/
#日志信息使用 類型-用戶名-服務-hostname.log 的形式存儲。比如datanode節點:
hadoop-huasheng-datanode-huas.log
?
查看后發現如下一段:
java.net.BindException: Port in use: 0.0.0.0:50090at org.apache.hadoop.http.HttpServer2.openListeners(HttpServer2.java:892)at org.apache.hadoop.http.HttpServer2.start(HttpServer2.java:828)at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.initialize(SecondaryNameNode.java:276)at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.<init>(SecondaryNameNode.java:192)at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.main(SecondaryNameNode.java:671) Caused by: java.net.BindException: 地址已在使用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:887)... 4 more?
查看端口是否被占用,如果被占用則殺掉對應進程即可
$ netstat -anp | grep 50090?
轉載于:https://www.cnblogs.com/x-you/p/10536301.html
總結
以上是生活随笔為你收集整理的[Hadoop] 启动HDFS缺少服务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: web服务器的原理
- 下一篇: android 数据存储----andr