dfs.sh

q35jwt9p  于 2021-05-29  发布在  Hadoop
关注(0)|答案(3)|浏览(286)

我已经创建了一个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表单

bvhaajcl

bvhaajcl1#

确保使用名为hadoop的新用户启动hadoop服务。
然后确保将公钥添加到具有该新用户的从机。
如果这不起作用,请检查防火墙或iptables
希望对你有帮助

e1xvtsh3

e1xvtsh32#

我认为您错过了这一步“将ssh公钥添加到目标主机上的授权密钥文件”
只需正确地重做无密码ssh步骤。遵循以下步骤:
生成公共和私有ssh密钥

ssh-keygen

复制ssh公钥( id_rsa.pub )到目标主机上的根帐户

.ssh/id_rsa
.ssh/id_rsa.pub

将ssh公钥添加到 authorized_keys 目标主机上的文件

cat id_rsa.pub >> authorized_keys

根据ssh的版本,您可能需要在上设置权限 .ssh 目录(到700)和 authorized_keys 目标主机上该目录中的文件(到600)。

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

检查连接:

ssh root@<remote.target.host>

哪里 <remote.target.host> 具有群集中每个主机名的值。
如果在第一次连接期间显示以下警告消息:是否确实要继续连接(是/否)?
输入yes。
请参阅:设置无密码ssh
注意:如果您的无密码ssh设置正确,则不会询问密码。

j5fpnvbx

j5fpnvbx3#

这意味着您没有正确创建公钥。
按以下顺序操作。
创建用户
将所有必需的权限授予该用户
生成具有相同用户的公钥
格式名称节点
启动hadoop服务。
现在它不应该要求密码。

相关问题