Hadoop大数据技术开发实战
上QQ阅读APP看书,第一时间看更新

3.4 配置集群各节点SSH无密钥登录

Hadoop的进程间通信使用SSH(Secure Shell)方式。SSH是一种通信加密协议,使用非对称加密方式,可以避免网络窃听。为了使Hadoop各节点之间能够无密钥相互访问,使彼此之间相互信任,通信不受阻碍,在搭建Hadoop集群之前需要配置各节点的SSH无密钥登录。

3.4.1 无密钥登录原理

SSH无密钥登录的原理如图3-6所示。

图3-6 SSH无密钥登录原理

从A服务器无密钥登录到B服务器的具体流程如下:

(1)在A服务器中生成密钥对,包括公钥和私钥。

(2)将公钥复制到B服务器的授权文件(authorized_keys)中。

(3)A服务器将访问数据用私钥加密,然后发送给B服务器。

(4)B服务器接收到数据以后,到授权文件中查找A服务器的公钥,并使用该公钥将数据解密。

(5)B服务器将需要返回的数据用A服务器的公钥加密后,返回给A服务器。

(6)A服务器接收到数据后,用私钥将其解密。

总结来说,判定是否允许无密钥登录,关键在于登录节点的密钥信息是否存在于被登录节点的授权文件中,如果存在,则允许登录。