2017-01-13 34 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