我正在设置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
答案 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行是每台机器。
确保您没有重复(剪切粘贴错误)每台计算机的用户名和/或计算机名称。它必须与您配置的用户名和机器名相匹配。