【问题标题】:unable to start start-dfs.sh in Hadoop Multinode cluster无法在 Hadoop 多节点集群中启动 start-dfs.sh
【发布时间】:2015-10-03 10:57:45
【问题描述】:

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

我按下 Enter 键

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:

输入slave密码后连接关闭

以下是我尝试过但没有结果的事情:

  1. 主节点和从节点中的格式化名称节点
  2. 创建新的 ssh 密钥并在两个节点中进行配置
  3. 覆盖this 帖子中的默认 HADOOP_LOG_DIR

【问题讨论】:

    标签: hadoop


    【解决方案1】:

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

    只需正确重做无密码 ssh 步骤即可。按照这个:

    1. 生成公共和私人 SSH 密钥

      ssh-keygen
      
    2. 将 SSH 公钥 (id_rsa.pub) 复制到您的 root 帐户 目标主机

      .ssh/id_rsa
      .ssh/id_rsa.pub
      
    3. 将 SSH 公钥添加到目标上的 authorized_keys 文件中 主机

      cat id_rsa.pub >> authorized_keys
      
    4. 根据您的 SSH 版本,您可能需要在 .ssh 目录(到 700)和其中的 authorized_keys 文件 目标主机上的目录(到 600)。

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

      ssh root@<remote.target.host>
      

      其中&lt;remote.target.host&gt; 包含集群中每个主机名的值。

      如果您在第一次使用时显示以下警告消息 连接:您确定要继续连接(是/否)?

      输入是。

    参考:Set Up Password-less SSH

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

    【讨论】:

    • 是的,这应该可以解决问题,因为显然没有正确设置无密码 ssh
    【解决方案2】:

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

    然后确保将公钥添加到具有该新用户的从属设备。

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

    希望对你有帮助

    【讨论】:

      【解决方案3】:

      这意味着您没有正确创建公钥。

      按照以下顺序。

      1. 创建用户
      2. 向该用户授予所有必需的权限
      3. 与同一用户生成公钥
      4. 格式名称节点
      5. 启动 hadoop 服务。

      现在它不应该要求输入密码了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-02-15
        • 2018-08-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-09
        相关资源
        最近更新 更多