2015-10-03 61 views
1

我已经创建在主机和从机节点一个Hadoop多节点集群并且也配置SSH Hadoop的多节点集群现在我可以连接在主节点无法启动start-dfs.sh在

但是,如果没有密码到从当我尝试在我无法连接到从属节点执行主节点start-dfs.sh停在下面一行

日志:

[email protected]:~$ start-all.sh 
starting namenode, logging to /usr/local/hadoop/libexec/../logs/hadoop-HNname-namenode-master.out 
[email protected]'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. 
[email protected]'s password: master: starting tasktracker, logging to /usr/local/hadoop/libexec/../logs/hadoop-HNname-tasktracker-master.out 

slave: Permission denied, please try again. 
[email protected]'s password: 

进入从密码连接被关闭

下面的事情我都试过之后,但没有结果:在这两个主&从节点

  • 创建新的SSH密钥和配置

    1. 格式化的NameNode节点
    2. 覆盖默认的HADOOP_LOG_DIR形式this
  • 回答

    0

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

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

    如果不工作,检查你的防火墙或者iptables的

    我希望它能帮助

    0

    这意味着你还没有创建公钥正常。

    请按照下面的顺序。

    1. 创建用户
    2. 提供所有必需的权限给该用户
    3. 生成具有相同的用户
    4. 格式名称节点
    5. 开始的Hadoop服务的公共密钥。

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

    2

    我想你错过了这一步“添加SSH公钥authorized_keys文件在你的目标主机”

    只需正确重做无密码的SSH的一步。按照这样的:

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

      ssh-keygen 
      
    2. 复制SSH公用密钥(id_rsa.pub)添加到您 目标root帐户托管

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

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

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

      ssh [email protected]<remote.target.host> 
      

      其中<remote.target.host>有每个主机名的集群中的价值。

      如果在您的第​​一个 连接期间显示以下警告消息:是否确定要继续连接(是/否)?

      输入是。

    参见:Set Up Password-less SSH

    注意:密码不会被要求,如果你的密码的ssh的设置是否正确。

    +0

    是的,这应该修复issu,因为很明显无密码的ssh设置不正确 –