我正在EC2服务器上设置Hadoop2.7.3集群--1 NameNode、1个二级NameNode和2个DataNodes。
Hadoop核心使用SSH与从节点通信,以启动从节点上的进程。
发布于 2018-08-13 20:53:58
我们是否需要为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/每个数据节点上。
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 Config
SSH对各种参数使用一个位于~/.ssh/config的配置文件。设置它,如下所示。同样,将每个节点的公共DNS替换为HostName参数(例如,用EC2公共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 dnode3https://stackoverflow.com/questions/51822209
复制相似问题