2017-03-18 358 views
1

我使用普通的vanilla Hadoop建立了5個虛擬機的Hadoop集羣。集羣細節如下:主節點如何啓動hadoop集羣中的所有進程?

192.168.1.100 - 配置爲運行NameNode和SNN守護
192.168.1.101 - 配置爲運行ResourceManager的守護進程。
192.168.1.102 - 配置爲運行DataNode和NodeManager守護進程。
192.168.1.103 - 配置爲運行DataNode和NodeManager守護進程。
192.168.1.104 - 配置爲運行DataNode和NodeManager守護進程。

我在每臺虛擬服務器上都保存了主設備和從設備文件。

大師:

192.168.1.100
192.168.1.101

奴文件:

192.168.1.102
192.168.1.103
192.168.1.104

現在,當我運行start-all.sh命令從NameNode機器,它怎麼能開始所有的守護進程?我無法理解它?沒有安裝適配器(或者我不知道),所有機器都有簡單的Hadoop罐,因此機器如何能夠在所有機器(虛擬服務器)中啓動所有的守護程序。

任何人都可以幫助我理解這一點嗎?

回答

1

namenode通過SSH連接到從站並運行從服務。 這就是爲什麼您需要在從站上使用公鑰密碼~/.ssh/authorized_keys的原因,以便爲運行Hadoop名稱節點的用戶提供其私有對應項。

+0

非常感謝您的信息;所以Namenode通過ssh連接到slave,並執行命令來運行slave進程。這種理解是否正確? – CuriousMind

+0

@CuriousMind是的,就是這樣。這就是爲什麼你通過ENV變量在hadoop_env.sh中放置某些選項(該文件來自於從站)。 –