一、問題描述
使用如下方法啟動成功hadoop服務(wù)
進(jìn)入相應(yīng)文件夾
cd /usr/local/hadoop/
首先停止啟動所有的節(jié)點(diǎn),使用命令行啟動stop-all.sh腳本
./sbin/stop-all.sh
解決方法是首先停止啟動所有的節(jié)點(diǎn),使用命令行啟動stop-all.sh腳本:
./sbin/start-all.sh
使用jps
命令查看當(dāng)前hadoop運(yùn)行
貌似沒問題
其實(shí)這里就是有問題?。?!后續(xù)解決方法里面說
繼續(xù)打開http://localhost:9870
,查看web界面
顯示無法連接到
二、解決方法和問題分析
下面兩個方法是在網(wǎng)上搜到的,大家可以先試試
-
1.有博主建議查看防火墻的
輸入命令發(fā)現(xiàn)我的Linux并沒有防火墻。。。所以不可能是防火墻問題
詳見:Ubuntu - 查看、開啟、關(guān)閉和永久關(guān)閉防火墻 -
2.也有博主建議 編輯配置文件
hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/data</value> </property> <property> <name>dfs.namenode.http-address</name> <value>0.0.0.0:9870</value> </property> </configuration>
這些都有嘗試 但是仍沒有解決
最后我重新看了一下我部署偽分布式Hadoop的那篇博客:Hadoop安裝搭建偽分布式教程(全面)吐血整理發(fā)現(xiàn)我前面啟動節(jié)點(diǎn)時確實(shí)有問題!??!
PS:其實(shí)至少需要4個進(jìn)程:
Namenode、DataNode、SecondaryNameNOde、JPS
再會看我之前的那個命令,居然連NameNode
都沒有?。?!我們知道http://localhost:9870
就是來查看主節(jié)點(diǎn)情況的,居然連主節(jié)點(diǎn)NameNode
都沒有,當(dāng)然會連不上呀~~
那么現(xiàn)在的思路就變成了:如何啟動主節(jié)點(diǎn)NameNode
(其實(shí)還有另外兩個進(jìn)程:NodeManager
和ResourceManager
沒有啟動成功,這也和影響我們通過web界面對其資源管理器的查看等有影響,稍后我們一起說)
2.1:缺少NameNode進(jìn)程
核心:初始化namenode。需要我們先執(zhí)行如下命令
hdfs namenode -format
然后再啟動hadoop服務(wù)(注意,再次啟動前需要先停止之前啟動的,否則會報錯)
然后如下:
之后我們再次訪問http://localhost:9870
即可成功訪問!??
2.1:沒有ResourceManager和NodeManager
原因:只使用了start-dfs.sh
命令(這個命令只會啟動上述四個進(jìn)程)
應(yīng)該使用:命令start-all.sh
(該命令是start-dfs.sh與start-yarn.sh這兩個命令的合并)
這樣才會啟動6個進(jìn)程:
補(bǔ)充:啟動Hadoop時提示 start-all.sh(該命令是start-dfs.sh與start-yarn.sh這兩個命令的合并):找不到命令 的解決方法:
這個問題出現(xiàn)的原因是環(huán)境變量沒有配置好
參考這篇博客的3.3.2
步配置好環(huán)境變量:Hadoop安裝搭建偽分布式教程(全面)吐血整理
于是我們可以成功訪問hadoop的http://localhost:8088
資源管理界面:
2.3:hadoop拒絕history通過19888端口連接查看已完成的job的日志
原因在于:通過start-all.sh啟動hadoop各項(xiàng)節(jié)點(diǎn)后,historyserver并沒有啟動,需要手動啟動,因此可以通過以下命令來手動啟動historyserver,關(guān)閉命令也給出.
啟動命令:
mr-jobhistory-daemon.sh start historyserver
關(guān)閉命令:文章來源:http://www.zghlxwxcb.cn/news/detail-852467.html
mr-jobhistory-daemon.sh stop historyserver
可能會出現(xiàn)下面兩個警告,沒有關(guān)系
再次訪問:文章來源地址http://www.zghlxwxcb.cn/news/detail-852467.html
到了這里,關(guān)于【已解決】偽分布式Hadoop服務(wù)已經(jīng)開啟,但是無法訪問http://localhost:9870(缺少NameNode進(jìn)程)\http://localhost:8088的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!