2017-01-13 38 views
0

我正在設置hadoop-2.7.3多節點羣集。爲了添加從節點,我編輯了從屬文件和/etc/hosts文件。此外,我添加了ssh密鑰給他們現在執行start-dfs.sh後,hadoop連接到[email protected]這是我,它可以直到這裏。但現在不是連接到名稱爲[email protected]的其他節點,而是連接到不存在的[email protected]。所以,我怎麼可以連接到[email protected]而不是[email protected]希望保持hadoop從站的用戶名@主機名不同

OS:-Ubuntu 16.04 
Hadoop Version:-2.7.3 

回答

1

第1步:

奴隸文件必須在表格條目(每行一個計算機名):

machine_hostname1 

machine_hostname2 
... 

在上面,每行代表集羣中機器的實際名稱,並且必須與/ etc/hosts文件中指定的完全相同。

步驟2:

檢查是否是手動能夠通過使用以下命令連接到每一臺機器:

ssh -i ~/.ssh/<"keyfilename"> <"username">@publicNameOfMachine 

不要鍵入在上述命令中的報價或尖括號,並用您選擇的名稱替換組件。

步驟3:

如果您不能手動連接,那麼無論你的密鑰文件是不正確的,或者它沒有被放置在.ssh目錄在目標機器上,或者它不文件的Linux 600權限。

步驟4:

你對.ssh目錄下的NameNode的一個配置文件。該文件應該有條目類似每臺機器下面的4行:

Host <"ShortMachineName"> 

HostName <"MachinePublicName"> 

User <"username"> 

IdentityFile ~/.ssh/<keyfilename> 

不要在上述4個命令輸入引號或尖括號,並與您所選擇的名稱替換的組件。這4條線是每臺機器。

確保您沒有重複(剪切粘貼錯誤)每臺機器的用戶名和/或機器名稱。它必須匹配您配置的用戶名和機器名稱。

+1

你能否詳細說明第4步,我在.ssh目錄下沒有NameNode conf文件 – DCP