Hadoop集群-“ hadoop”用户ssh通信

时间:2018-08-13 12:18:36

标签: hadoop ssh hadoop2

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

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

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

1 个答案:

答案 0 :(得分:0)

  

我们需要在hadoop用户的所有节点上使用相同的SSH密钥吗?

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

将NameNode复制或添加到的最佳实践/理想方法是什么   从节点SSH凭据?

Per documentation:

名称节点:密码少SSH

  

名称节点和数据节点之间的无密码SSH。让我们   为此,请在名称节点上创建一个公私钥对。

namenode> ssh-keygen
  

使用默认(/home/ubuntu/.ssh/id_rsa)作为关键位置,然后   按Enter键输入空密码。

数据节点:设置公共密钥

  

公钥保存在/home/ubuntu/.ssh/id_rsa.pub中。我们要   将此文件从namenode复制到每个数据节点,然后附加   每个数据节点上的/home/ubuntu/.ssh/authorized_keys中的内容。

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

名称节点:设置SSH配置

  

SSH将〜/ .ssh / config中的配置文件用于各种   参数。如下所示进行设置。同样,替换每个节点的   HostName参数的公共DNS(例如,替换   使用EC2的NameNode的公共DNS)。

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
  

这时,请确认无密码操作在每个节点上均有效   如下所示(第一次,您将收到一条警告,指出主机是   未知以及是否要连接到它。输入yes,然后按Enter。   此步骤只需一次):

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