我正在EC2服务器上设置Hadoop 2.7.3集群-1个NameNode,1个次要NameNode和2个DataNodes。

Hadoop核心使用SSH与从属进行通信以在从属节点上启动进程。

  • 我们需要在hadoop用户的所有节点上使用相同的SSH密钥吗?
  • 将NameNode复制或添加到Slave节点SSH凭据的最佳实践/理想方法是什么?
  • 最佳答案


  • 相同的公钥必须位于所有节点




  • Per documentation:

    Namenode:少密码SSH


    namenode> ssh-keygen
    



    数据节点:设置公共(public)密钥


    datanode1> cat id_rsa.pub >> ~/.ssh/authorized_keys
    datanode2> cat id_rsa.pub >> ~/.ssh/authorized_keys
    datanode3> cat id_rsa.pub >> ~/.ssh/authorized_keys
    

    Namenode:设置SSH配置


    Host nnode
      HostName <nnode>
      User ubuntu
      IdentityFile ~/.ssh/id_rsa
    
    Host dnode1
      HostName <dnode1>
      User ubuntu
      IdentityFile ~/.ssh/id_rsa
    
    Host dnode2
      HostName <dnode2>
      User ubuntu
      IdentityFile ~/.ssh/id_rsa
    
    Host dnode3
      HostName <dnode3>
      User ubuntu
      IdentityFile ~/.ssh/id_rsa
    


    namenode> ssh nnode
    namenode> ssh dnode1
    namenode> ssh dnode2
    namenode> ssh dnode3
    

    10-08 06:16
    查看更多