Hadoop大象之旅008-啓動與關閉Hadoop
老帥
Hadoop是一個運行在Linux文件系統上的分佈式文件系統,在使用之前需要啓動。
1.Hadoop的啓動命令存儲位置
參照前面章節中所述方法,使用SecureCRTPortable.exe登錄CentOS;
使用命令“cd/usr/local/hadoop”或者“cd $HADOOP_HOME”進入到Hadoop根目錄;
使用命令“ll”查看一下目錄結構,如下圖所示:
其中d開頭的表示文件夾,-開頭的表示文件
我們所使用的啓動和關閉hadoop的命令都在bin目錄下;
使用命令“cd $HADOOP_HOME/bin”進入到該目錄下;
使用命令“ll”查看一下目錄結構,如下圖所示:
2.格式化文件系統
hdfs是文件系統,所以在第一次使用之前需要進行格式化。
執行命令“hadoopnamenode –format”
格式化成功後,如下圖所示:
注意:
只在第一次啓動的時候格式化,不要每次啓動都格式化。
如果真的有必要再次格式化,請先把“hadoop.tmp.dir”目錄下的文件全部刪除。
讀者可以自己觀察目錄“hadoop.tmp.dir”在格式化前後的變化情況。
格式化操作很少有出現失敗的情況。如果真出現了,請檢查配置是否正確。
3.啓動Hadoop
格式化完成後,開始啓動 hadoop 程序。
由於我們採用的是僞分佈安裝模式,一臺機器中需要運行所有的hadoop 進程;
這裏我們使用命令“start-all.sh”啓動所有Hadoop進程,如下圖所示:
注意啓動順序爲:namenode->datanode->secondarynamenode->jobtracker->tasktracker
使用命令“jps”命令查看一下進程是否啓動成功,如下圖所示,能看到5個進程,就表示成功了:
4關閉Hadoop
關閉 hadoop 所有進程的命令是“stop-all.sh”,如下圖所示:
執行完關閉命令後,使用“JPS”命令就看不到Hadoop的5個進程了。
注意關閉順序爲:jobtracker->tasktracker–>namenode->datanode->secondarynamenode
5.單獨啓動進程
當然,也可以分別啓動各個進程,而不是一起啓動,具體命令在“$HADOOP_HOME/bin/”目錄下,如下圖所示:
執行命令 start-dfs.sh,是單獨啓動 hdfs,該命令適合於只執行hdfs存儲不使用 MapReduce 做計算的場景,關閉的命令就是 stop-dfs.sh 了;
執行命令 start-mapred.sh,是單獨啓動 MapReduce 的兩個進程,關閉的命令就是stop-mapred.sh 了;
當然,也可以先啓動 MapReduce,再啓動 HDFS,這說明,HDFS和 MapReduce的進程之間是互相獨立的,沒有依賴關係。
6.啓動失敗怎麼辦
啓動之前要檢查:
配置文件是否正確
IP和Hostname是否綁定
是否已經格式化NameNode
SSH的免密碼登錄設置是否成功
如果仍然啓動失敗了,可以到“$HADOOP_HOME/logs/”目錄下查看錯誤日誌(這個文件夾是Hadoop啓動的時候,自動生成的)分析錯誤原因,如下圖所示:
文件命名是有規律的,“hadoop-[當前用戶名]-[節點名稱]-[主機名].log”我們只查看log結尾的文件。
如果是namenode節點沒有啓動,查看hadoop-root-namenode-book0.log文件,以此類推。
7.使用瀏覽器方式訪問Hadoop
使用Http://hadoop001:50070可以訪問namenode服務器,如下圖所示:
能訪問,就說明Namenode是在線的;這也說明Namenode也是個Webserver服務器
使用Http://hadoop001:50030可以訪問Jobtracker服務器,如下圖所示
能訪問,就說明Jobtracker是在線的;這也說明Jobtracker也是個Webserver服務器