“hadoop”用户ssh通信

bvjveswy  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(288)

我正在ec2服务器上设置Hadoop2.7.3集群—1个namenode、1个secondary namenode和2个datanode。
hadoop内核使用ssh与从属节点进行通信,以启动从属节点上的进程。
hadoop用户是否需要在所有节点上使用相同的ssh密钥?
将namenode复制或添加到从属节点ssh凭据的最佳实践/理想方法是什么?

guykilcj

guykilcj1#

hadoop用户是否需要在所有节点上使用相同的ssh密钥?
所有节点上都需要相同的公钥
将namenode复制或添加到从属节点ssh凭据的最佳实践/理想方法是什么?
根据文件:
namenode:无密码ssh
名称节点和数据节点之间的无密码ssh。为此,让我们在namenode上创建一个公私密钥对。

namenode> ssh-keygen

使用默认值( /home/ubuntu/.ssh/id_rsa )输入密钥位置,然后按enter键输入空密码短语。
datanodes:设置公钥
公钥保存在 /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

namenode:安装ssh配置
ssh将位于~/.ssh/config的配置文件用于各种参数。设置如下所示。同样,用每个节点的public dns替换hostname参数(例如,用ec2 public dns替换namenode)。

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并按回车键。此步骤仅需一次):

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

相关问题