上篇文章中我們通過克隆已有虛擬機並修改相應的參數配置將hadoop分佈式集羣搭建完成,接下來我們啓動Hadoop分佈式集羣。
1、ssh免密登錄
首先打開虛擬機軟件VMware然後開啓master、slave1、slave2三個虛擬機。
一般搭建hadoop分佈式集羣時需要配置集羣中各個節點間的ssh免密登錄,然後纔可以啓動hadoop分佈式集羣。我們在master虛擬機終端中輸入命令ssh slave1 , 此時出現如下提示,然後輸入yes
注意輸入exit命令退出slave2的登錄。接下來我們就可以遠程登錄到slave2了。在登錄的過程中我們也無需輸入密碼。小夥伴們會不會有疑問,我們什麼時候配置過ssh免密登錄?
其實我們還真的配置了,由於現在集羣中的三個虛擬機最終的源頭都是由僞分佈集羣的虛擬機複製過來的,在這過程中也把.ssh目錄下的authorized_keys這個文件複製過來了。
這個文件的作用之前提前過,簡單來說就是認證登錄ssh服務器的客戶機,只要客戶機的公鑰在這裏面就可以不用密碼登錄ssh服務器了。下圖爲slave1節點hduser用戶主目錄下的.ssh目錄大家可以看到authorized_keys目錄已經存在了。
2、格式化HDFS
由於我們集羣中的虛擬機都是由僞分佈集羣虛擬機克隆出來的所以會有HDFS相關的目錄,而且目錄中還有數據,爲了不影響格式化操作我們需要將這些目錄中的數據都刪除,然後再執行格式化。
2.1刪除master虛擬機HDFS目錄數據
輸入命令rm -rf tmp/dfs/ 刪除dfs目錄
2.2刪除slave1虛擬機HDFS目錄數據
首先通過ssh slave1登錄slave1然後執行rm -rf tmp/dfs/刪除slave1 中的dfs目錄。記得exit退出slave1的登錄。
2.3刪除slave2虛擬機HDFS目錄數據
刪除方式與刪除slave1虛擬機HDFS目錄的方式一致,這裏不再贅述,具體操作可參照下圖。一定記得最後執行exit退出slave2的登錄,否則極易造成誤操作。
2.4格式化HDFS
在刪除各個節點HDFS文件後我們開始格式化HDFS。在master終端輸入命令 hadoop namenode –format然後回車執行。執行完成後會看到下圖標註的那句話,表明格式化成功。
3、啓動hadoop
格式化HDFS結束之後我們就可以啓動hadoop分佈式集羣了。啓動可以可以分步執行當然hadoop也給我們提供了更簡單的腳本通過一個命令自動啓動所有模塊。這裏需要指出的是不管分步執行啓動過程還是通過腳本自動啓動,模塊的啓動順序都是一致的即先啓動HDFS模塊然後再啓動YARN模塊,停止的過程則是先停止YARN模塊再停HDFS模塊。下面我們來分別操作演示一下。
3.1啓動HDFS進程
啓動HDFS模塊使用命令start-dfs.sh,啓動過程如下圖所示。需要注意的是我們啓動或者停止的命令都是隻需在master節點終端中操作即可,底層hadoop會自動啓動其他節點的相關進程。啓動完成後可以通過jps命令查看啓動了哪些進程,這在下圖也有展示。我們可以看到HDFS模塊在master上有NameNode與
SecondaryNameNode進程。
HDFS模塊在slave1節點啓動進程DataNode
HDFS模塊在slave2節點啓動進程也是DataNode。
3.2啓動YARN進程
啓動YARN模塊的命令爲start-yarn.sh,啓動過程如下圖所示
master節點啓動的進程如下圖所示,比啓動HDFS時多了ResourceManager進程。
在slave1與slave2節點上多了NodeManager進程
3.2全部啓動(包括YARN、HDFS)
hadoop還提供了一個可以自動啓動HDFS與YARN的腳本命令start-all.sh和停止HDFS與YARN的命令stop-all.sh。在使用start-all.sh命令前我們需要先停止所有進程否則會報錯。在終端輸入命令stop-all.sh停止所有進程過程如下圖所示。此時通過jps命令查看master所有hadoop相關進程已經關閉
查看slave1 slave2節點同樣的是hadoop進程消失,說明命令執行成功。
下面演示同時啓動HDFS 、YARN,命令行執行命令start-all.sh,並使用jps查看進程,如下面三張圖所示,啓動成功。
小夥伴們今天的內容到這裏就結束了,你Get到了沒。