想要保持hadoop奴隶的username @ hostname不同

时间:2017-01-13 05:14:52

标签: hadoop hadoop2 ubuntu-16.04

我正在设置hadoop-2.7.3多节点群集。为了添加从属节点,我编辑了从属文件和/etc/hosts文件。我也向他们添加了ssh密钥现在执行start-dfs.sh后,hadoop连接到user1@myStyle这就是我,直到这里。但现在不是连接到名为user2@node1的其他节点,而是连接到不存在的user1@node1。那么,我如何连接到user2@node1而不是user1@node1

OS:-Ubuntu 16.04
Hadoop Version:-2.7.3

1 个答案:

答案 0 :(得分: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行是每台机器。

确保您没有重复(剪切粘贴错误)每台计算机的用户名和/或计算机名称。它必须与您配置的用户名和机器名相匹配。