Linux:实现Hadoop集群Master无密码登录(SSH)各个子节点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux:实现Hadoop集群Master无密码登录(SSH)各个子节点相关的知识,希望对你有一定的参考价值。

以下所介绍的安装方式都是在线安装方式,如果你需要连网请参考:Linux:宿主机通过桥接方式连接的VMware内部Linux14.04虚拟机(静态IP)实现上网方案

  • 环境:

OS:Linux Ubuntu14.04 Server X64;

服务器列表:

192.168.1.200 master

192.168.1.201 node1

192.168.1.202 node2

192.168.1.203 node3

  • 安装SSH服务

测试是否安装了SSH:

sudo ps -e | grep ssh

技术分享

如果返回包含sshd的进程,就表示已经安装过openssh-server服务,否则未安装。

安装openssh-server服务:

sudo apt-get install openssh-server

如果提示安装失败,请执行更新命令:

sudo apt-get update

不过本人在更新过程中遇到问题,执行安装ssh也出现问题:Package openssh-server is not available, but is referred to by another package.

解决方案请参考:Linux:安装OpenSSH-Server E:Package openssh-server has no installation candidate

技术分享

ssh 服务操作命令:

技术分享

备注:

为了实现各个子节点都可以使用putty连接,把Master,node1,node2,node3都安装了ssh服务。

而事实上,要是master可以无密码登录各个子节点,其他子节点(node1,node2,node3)也必须安装ssh服务。

  • 为Master机器配置SSH无密码登录

1)设置master的ssh为无需密码自动登录

切换到hadoop账户下(保证用户hadoop可以无需密码登录,应为我们后边安装hadoop属于的账户是hadoop账户)

su - hadoop
cd /home/hadoop
ssh-keygen -t rsa

然后会遇到三次让输入的时候,第一次直接回车,第二次和第三次分别是:让输入密码和确认密码,我们这里是要实现无密码登录。所以以上三次输入都直接回车,不设置什么密码,也就是空密码登录。

 

技术分享

2)之后再/home/hadoop/下会产生一个.ssh的文件夹;ls查看:

技术分享

3)将公钥追加到authorized_keys文件中

cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

4)master本机使用ssh localhost测试:

第一次会提示是否“Are you sure you want to continue connecting(yes/no)?”,直接输入yes,下一次输入ssh localhost就不会在提示了。

技术分享

5)修改各个节点(master,node1,node2,node3)的hosts:

统计添加如下host列表:

技术分享

目的,为后边实现ssh连接使用,不用输入ip,使用机器名就可以。

6)为了确保master可以无需密码自动登录到node1,node2和node3,现在node1,node2和node3上生成authorized_keys。

(依次为三个子节点node1,node2,node3)执行命令:

su hadoop
cd /home/hadoop
ssh-keygen -t rsa

技术分享

一路回车,和master安装方式一样。

7)复制master上的authorized_keys到三个子节点上(node1,node2,node3):

首先,为了避免权限问题,我们可以事先设置文件和目录权限:

 

#设置authorized_keys权限
$ chmod 600 authorized_keys 
#设置.ssh目录权限
$ chmod 700 -R .ssh

 

技术分享

 

然后拷贝master上的authorized_keys到三个子节点上(node1,node2,node3)

技术分享

这里会提示输入密码,输入hadoop账号密码就可以了。
8)测试:ssh node1、ssh node2和ssh node3(第一次需要输入yes)

技术分享

如果不需要输入密码,就表示配置成功,否则配置失败。

 

参考资料:

 ssh-keygen 的 详解              :http://blog.csdn.net/wh_19910525/article/details/7433164

Hadoop集群配置(最全面总结):http://blog.csdn.net/hguisu/article/details/7237395

 

以上是关于Linux:实现Hadoop集群Master无密码登录(SSH)各个子节点的主要内容,如果未能解决你的问题,请参考以下文章

linux系列配置免密登陆

Hadoop多节点集群安装配置

Hadoop配置Master无密码登录所有Salve

Hadoop集群配置搭建

Greenplum 安全性:我如何设置无密码登录:gpdb 集群中的 Windows(通过 Putty)到 Linux(greenplum master machine-centos6.5)

Hadoop集群配置免密登录方法