大神如何一招完美解决Hadoop集群无法正常关闭的问题!| 博文精选
來源 | CSDN 博客
作者 |?Alice菌,責編 |?Carol
出品 | CSDN云計算(ID:CSDNcloud)
相信對于大部分的大數據初學者來說,一定遇見過Hadoop集群無法正常關閉的情況。有時候當我們更改了Hadoop內組件的配置文件后,必須要通過重啟集群來使配置文件生效。
????????
但往往一stop-all.sh,集群下方總會出現下面的提示:
最開始的時候,我也是看了一個頭兩個大,這都是啥么情況???
但問題都出來了,只有迎面解決了~
我們都知道在Hadoop中控制腳本啟動和停止Hadoop后臺程序的是哪個腳本。
沒錯,就是Hadoop-daemon.sh
先讓我們利用find命令找到它的位置
find / -name Hadoop-daemon.sh
通過vim /export/servers/Hadoop-2.6.0-cdh5.14.0/sbin/Hadoop-daemon.sh
在文件的最后幾行,我們終于找到了答案:
初步分析,如果pid文件不存在就會打印:no xxx to stop
那我們上述出現的情況無非就是Hadoop集群關閉的時候,Namenode或者DataNode的pid文件找不著。
通過配置文件最初的描述,我們大概知道pid文件默認是保存在tmp目錄下
那這個pid文件是啥?根據查閱資料,方知Hadoop啟動后,會把進程的PID號存儲在一個文件中,這樣執行stop-dfs腳本時就可以按照進程PID去關閉進程了。
現在問題原因很明確了,就是/tmp目錄下的Hadoop-*.pid的文件找不到了。
我們知道/tmp是臨時目錄,系統會定時清理該目錄中的文件。顯然把pid文件放在這里是不靠譜的,pid文件長時間不被訪問,早被清理了!
所以我們只需要在配置文件中更改默認的pid存放位置即可。但注意,需要先通過kill等方法把進程殺死,等集群關閉之后再更改!
同樣的道理,你還需要修改yarn-daemon.sh配置文件。
好了,從此再也不用擔心出現no xxx to stop的警告了!
你有什么心得或者建議,可以在評論處和我們分享哦!
推薦閱讀:利用丁香園數據生成疫情分布地圖(R語言)| 博文精選 2020云計算,是四強爭霸還是贏家通吃? PHP 8 能有多快? “夸夸機器人”App來了:變身百萬粉絲大V,48萬人給你的帖子點贊 2019年度區塊鏈安全復盤總結 在家辦公,我比上班還累你信嗎? 真香,朕在看了!猛戳“閱讀原文”,填寫中國遠程辦公-調查問卷總結
以上是生活随笔為你收集整理的大神如何一招完美解决Hadoop集群无法正常关闭的问题!| 博文精选的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 我和面试官之间关于操作系统的一场对弈 |
- 下一篇: 架构师前辈告诉你:代码该如何才能自己写得
