移动版

主页 > K彩系列 >

Hadoop集群完全分布式坏境搭建(2)

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UXLinuxAIXSolarisDigital UNIXIrix,以及其他平台,都可运行SSH。

上面就是SSH的官方含义了,摘自百度百科。

下面,我来总结下SSH在Hadoop集群中的用途。

所谓的SSH简单一句话就是:同一用户无密码登录到各台机器。 其实,就是所有的Hadoop集群中作为分布式的一个计算框架,需要对各个节点的服务进行操作,而操作的过程中需要统一由一个相同的用户进行操作,但是同一用户登录不同的服务器都需要密码或者密钥进行身份验证。为了避免这个验证过程就使用了统一的一种安全协议:SSH。

其实,SSH的原理很简单,就是提前将统一用户的密码进行加密形成密钥进行分发,然后分发到各个服务器中,各个服务器对这个秘钥加入到当前的系统用户组中,这样这个用户登录的时候就不需要输入密码进行登录操作了。

希望,我上面的讲解各位看官能看明白里面的含义。

下面咱们来实际操作:

首先进行sshd的配置文件的修改,去掉默认注释,开启SSH验证功能(以root用户进行操作)。  

vim /etc/ssh/sshd_config

Hadoop集群完全分布式坏境搭建

将上面的这三行数据的注释“#”去掉进行,保存。这里记住了!所有的机器都要这么依次进行设置。

简要的解释下上面三行数据的含义:1、第一个RSAAuthentication是指开启SSH验证,2、PubkeyAuthetication是指可以通过公钥进行验证,3、AuthorizedkeysFile则指的的是公钥存放的位置。

记住,完成配置之后,重启该服务,脚本如下:

/sbin/service sshd restart

可以验证下,比如这里我这里直接SSH登录本机系统:

ssh localhost

Hadoop集群完全分布式坏境搭建

这里可以看到,丫让我输入密码,所以说这里只是开启了SSH验证,但是没有生成密钥,进行设置。

   

 加工生成证书公私钥,分发到各个服务器(以Hadoop用户操作)。

这个步骤就是上面我分析的过程,我们需要在Master节点上生成Hadoop用户的公钥,然后将这个公钥分发给各个slave节点,然后这样在Master机器上就可以用Hadoop无密码登录到各个salve机器上面了。

步骤如下:

ssh-keygen -t  rsa -P ''

这里的-P后面‘P’是大写的。

Hadoop集群完全分布式坏境搭建

上面我用红框勾出的路径就是公钥和私钥生成的默认路径。

然后,下一步就是将这个公钥复制到各个slave节点中去、

通过以下Linux命令进行远程文件的复制,脚本命令如下:

scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/

我们这里面要复制的公钥文件存在默认的路径“/home/hadoop/.ssh”,所以执行的命令就是

scp ~/.ssh/id_rsa.pub hadoop@192.168.1.51:~/

然后,我们需要登录192.168.1.51的salve01的机器将刚才生成的公钥加入的本地的权限验证组里面去。

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

上面的命令是要在Slave01的机器上进行的,并且使用hadoop用户今次那个操作。

最后,我们来回到Master机器上面进行,ssh验证。

SSH验证的命令很简单,格式如下:

SSH <远程IP && 域名>

所以,这里咱们在master机器上登录slave01机器上实验下,看是否还需要进行密码输入。

ssh slave01.hadoop

通过上面的命令窗口可以看到,我们已经成功的从Master机器上面无密码的登录到Slave01机器上面了。那么说明刚才的配置生效了。

 参照上面的步骤将各个Slave节点配置完成。

(责任编辑:admin)
Copyright © 2011 - 2016 版权所有 All Rights Reserved