Linux节点之间无密码问题,Hadoop主从节点之间建立SSH无密码登录

Hadoop使用ssh来通信。所以操作系统上必须安装ssh,本人采用的是Ubuntu 14,安装ssh后要保证sshd处于运行状态,如果没有安装ssh的话,

结点信息:(分布式集群架构:master为主节点,其余四个为从节点)

机器名

IP

作用

master

122.205.135.53

NameNodeandJobTracker

hadoop

122.205.135.212

DataNode and TaskTracker

hadoop1

122.205.135.213

DataNode and TaskTracker

hadoop2

122.205.135.214

DataNode and TaskTracker

hadoop3

122.205.135.215

DataNode and TaskTracker

使用以下命令来安装:

$ sudo apt-get install ssh

$ sudo apt-get install rsync

这里注意:如果提示安装不了,说明我们的apt-get需要更新下,更新的命令如下:

sudo apt-get update

安装完成后出现如下图:

27a8836540a7a7dee5d08d1cdc4ee993.png

在Hadoop启动以后,namenode是通过SSH(Secure Shell)来启动和停止各个节点上的各种守护进程的,这就需要在节点之间执行指令的时候是不需要输入密码的方式,故我们需要配置SSH使用无密码公钥认证的方式。

namenode生成密钥:

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

执行上述命令后会出现如下图:

0c28fd9de274adbdfe49df60f6bc810e.png

这时候会在~/.ssh/目录下生成 id_dsa.pub文件,如果我们希望master 结点不需要密码就能使用ssh连接到slave结点,我们需要将master结点上的~/.ssh/id_dsa.pub的内容,添加到slave结点的~/.ssh/authorized_keys这个文件中。

如果slave结点的~/.ssh/authorized_keys这个文件不存在,可以直接将~/.ssh/id_dsa.pub文件复制过去并重命名为authorized_keys:

$ scp ~/.ssh/id_dsa.pub hadoop@122.205.135.212:~/.ssh/authorized_keys

8d028551208009c5bbee66d181e9cf8e.png

这时,我们在122.205.135.212这个slave的机器中登陆进去看下,这个文件是否复制过去了,命令如下:

cd  ~/ssh

ls

50b0460e0661835accf3cb6b3160a826.png

也可以先将master结点的~/.ssh/id_dsa.pub文件复制到slave结点的~/.ssh/目录下,例如:

$ scp ~/.ssh/id_dsa.pub hadoop@122.205.135.212:~/.ssh

或用

$ scp ~/.ssh/id_dsa.pub hadoop@hadoop:~/.ssh

然后在slave结点上执行下面的命令:

$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

最后,我们验证是否可以无密码登陆:在master结点上使用ssh连接slave结点,例如:

$ ssh hadoop@hadoop

如果未提示输入密码直接登录,则表明设置成功。

9dd5ed95eb93a4d19e2379ca6af41fe3.png

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值