我已经创建了一个hadoop多节点集群,并且在主节点和从节点中都配置了ssh,现在我可以在主节点中连接到从节点而无需密码
但是,当我尝试在主节点中启动-dfs.sh时,我无法连接到从节点,执行在下面的行停止
日志:
HNname@master:~$ start-all.sh
starting namenode, logging to /usr/local/hadoop/libexec/../logs/hadoop-HNname-namenode-master.out
HDnode@slave's password: master: starting datanode, logging to /usr/local/hadoop/libexec/../logs/hadoop-HNname-datanode-master.out
我按了回车键
slave: Connection closed by 192.168.0.2
master: starting secondarynamenode, logging to /usr/local/hadoop/libexec/../logs/hadoop-HNname-secondarynamenode-master.out
jobtracker running as process 10396. Stop it first.
HDnode@slave's password: master: starting tasktracker, logging to /usr/local/hadoop/libexec/../logs/hadoop-HNname-tasktracker-master.out
slave: Permission denied, please try again.
HDnode@slave's password:
输入从属密码后,连接关闭
以下是我尝试过但没有结果的事情:
主节点和从节点中的格式化名称节点
创建了新的ssh密钥并在两个节点中进行了配置
重写此帖子中的默认hadoop\ log\ dir表单
3条答案
按热度按时间bvhaajcl1#
确保使用名为hadoop的新用户启动hadoop服务。
然后确保将公钥添加到具有该新用户的从机。
如果这不起作用,请检查防火墙或iptables
希望对你有帮助
e1xvtsh32#
我认为您错过了这一步“将ssh公钥添加到目标主机上的授权密钥文件”
只需正确地重做无密码ssh步骤。遵循以下步骤:
生成公共和私有ssh密钥
复制ssh公钥(
id_rsa.pub
)到目标主机上的根帐户将ssh公钥添加到
authorized_keys
目标主机上的文件根据ssh的版本,您可能需要在上设置权限
.ssh
目录(到700)和authorized_keys
目标主机上该目录中的文件(到600)。检查连接:
哪里
<remote.target.host>
具有群集中每个主机名的值。如果在第一次连接期间显示以下警告消息:是否确实要继续连接(是/否)?
输入yes。
请参阅:设置无密码ssh
注意:如果您的无密码ssh设置正确,则不会询问密码。
j5fpnvbx3#
这意味着您没有正确创建公钥。
按以下顺序操作。
创建用户
将所有必需的权限授予该用户
生成具有相同用户的公钥
格式名称节点
启动hadoop服务。
现在它不应该要求密码。