我正在ec2服务器上设置Hadoop2.7.3集群—1个namenode、1个secondary namenode和2个datanode。hadoop内核使用ssh与从属节点进行通信,以启动从属节点上的进程。hadoop用户是否需要在所有节点上使用相同的ssh密钥?将namenode复制或添加到从属节点ssh凭据的最佳实践/理想方法是什么?
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。
/home/ubuntu/.ssh/id_rsa
/home/ubuntu/.ssh/id_rsa.pub
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
1条答案
按热度按时间guykilcj1#
hadoop用户是否需要在所有节点上使用相同的ssh密钥?
所有节点上都需要相同的公钥
将namenode复制或添加到从属节点ssh凭据的最佳实践/理想方法是什么?
根据文件:
namenode:无密码ssh
名称节点和数据节点之间的无密码ssh。为此,让我们在namenode上创建一个公私密钥对。
使用默认值(
/home/ubuntu/.ssh/id_rsa
)输入密钥位置,然后按enter键输入空密码短语。datanodes:设置公钥
公钥保存在
/home/ubuntu/.ssh/id_rsa.pub
. 我们需要将这个文件从namenode复制到每个数据节点,并将内容附加到每个数据节点上的/home/ubuntu/.ssh/authorized\ keys。namenode:安装ssh配置
ssh将位于~/.ssh/config的配置文件用于各种参数。设置如下所示。同样,用每个节点的public dns替换hostname参数(例如,用ec2 public dns替换namenode)。
在这一点上,验证无密码操作在每个节点上的工作方式如下(第一次,您将得到一个警告,提示主机未知以及您是否要连接到它。键入yes并按回车键。此步骤仅需一次):