Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在Hadoop多节点群集中启动start-dfs.sh_Hadoop - Fatal编程技术网

无法在Hadoop多节点群集中启动start-dfs.sh

无法在Hadoop多节点群集中启动start-dfs.sh,hadoop,Hadoop,我已经创建了一个hadoop多节点集群,并在主节点和从节点中配置了SSH。现在,我可以在主节点中无需密码即可连接到从节点 但当我尝试在主节点中启动-dfs.sh时,我无法连接到从节点,执行将在下面的行停止 日志: 我按了回车键 slave: Connection closed by 192.168.0.2 master: starting secondarynamenode, logging to /usr/local/hadoop/libexec/../logs/hadoop-HNname-s

我已经创建了一个hadoop多节点集群,并在主节点和从节点中配置了SSH。现在,我可以在主节点中无需密码即可连接到从节点

但当我尝试在主节点中启动-dfs.sh时,我无法连接到从节点,执行将在下面的行停止

日志:

我按了回车键

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密钥并在两个节点中进行了配置
  • 覆盖post中的默认HADOOP\u LOG\u目录

  • 确保使用名为hadoop的新用户启动hadoop服务

    然后确保将公钥添加到该新用户的从属服务器

    如果这不起作用,请检查防火墙或iptables


    我希望这对您有所帮助,因为这意味着您没有正确创建公钥

    按照下面的顺序

  • 创建用户
  • 向该用户授予所有必需的权限
  • 使用同一用户生成公钥
  • 格式名称节点
  • 启动hadoop服务
    现在,它不应该询问密码。

    我认为您错过了“将SSH公钥添加到目标主机上的授权密钥文件”这一步

    只需正确地重做无密码ssh步骤。遵循以下步骤:

  • 生成公共和私有SSH密钥

    ssh-keygen
    
  • 将SSH公钥(
    id\u rsa.pub
    )复制到您计算机上的根帐户 目标主机

    .ssh/id_rsa
    .ssh/id_rsa.pub
    
  • 将SSH公钥添加到目标上的
    授权密钥
    文件中 主人

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

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    
  • 检查连接:

    ssh root@<remote.target.host>
    
    ssh根目录@
    
    其中
    具有集群中每个主机名的值

    如果在第一次测试期间显示以下警告消息 连接:是否确实要继续连接(是/否)

    输入Yes

  • 参考:


    注意:如果您的无密码ssh设置正确,则不会询问密码。

    是,这应该可以解决问题,因为无密码ssh显然没有正确设置
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    
    ssh root@<remote.target.host>