Hadoop伪分布式的搭建(四)—— 配置SSH免密码登录

  • Post author:
  • Post category:其他




Hadoop伪分布式的搭建(四)—— 配置SSH免密码登录

SSH 是可以在应用程序中提供安全通信的一个协议,通过SSH可以安全的进行网络数据传输,它的主要原理就是利用非对称加密体系,对所有待传输的数据进行加密,保证数据在传输是不被破坏,泄露或者篡改,但是Hadoop使用SSH主要不是用来进行数据传输的,Hadoop主要是在启动和停止的时候需要主节点通过ssh协议将从节点上的进程启动或者停止,也就是说,如果不配置ssh免密码登录对Hadoop的正常使用是没有什么影响的,只是在启动和停止Hadoop的时候需要输入每个从节点的用户名密码,可以想象一下,当集群规模较大时,有成百上千台,,每次都要输入每个节点的密码时,非常麻烦,所以进行ssh免密码登录,就会减少这种麻烦。

因为ssh免密码登录的功能是跟用户密切相关的,为那个用户配置ssh免密码登录,那么那个用户就具有免密码登录的功能,在这里,选择为Hadoop用户配置ssh免密码登录,当然对其他的用户,配置方法是一样的。

具体方法:

1:在控制台使用su命令切换到hadoop用户的根目录下,具体方法如图所示:

在这里插入图片描述

2:在控制台使用命令mkdir命令创建 .ssh 目录,使用命令 ssh-keygen -t rsa

(ssh-keyge 是秘钥生成器,-t是一个参数,rsa是一种加密算法)生成秘钥对(即攻钥文件 id_rsa.pub 和私密钥文件 id_rsa),当出现冒号时,按回车键,一共按三次。

具体操作如下:

在这里插入图片描述

3:进入到.ssh目录中,将公钥文件 id_rsa.pub 中的文件内容复制到想同文件下的 authorized_keys 文件中,具体操作如下:

在这里插入图片描述

可以看到 id_rsa.pub 文件 和 authorized_keys 文件中的内容相同

在这里插入图片描述

4:切换到hadoop用户的根目录下,为.ssh文件赋予相关权限,

在这里插入图片描述

5:接下来使用 ssh命令登录lxf(也就是这台机器的主机名),第一次登录需要输入yes进行确认,第二次以后登录就不需要密码了,此时表明成功了,具体操作如下:

在这里插入图片描述

在运行时,可能会出现上图中的这种情况,出现这种情况的原因是在CentOS 中没有安装ssh服务。

解决方法:(可以自己百度,后续我会将我的解决办法和软件包写成博客的。)

查看SSH是否安装(检查是否装了SSH包),输入命令:rpm -qa | grep ssh 或者(rpm -qa | grep openssh)

若没安装SSH则可输入:yum install openssh-server 进行安装。

查看SSH服务是否正在运行。

输入命令:/etc/init.d/sshd status 或者(service sshd status)

若CentOS 6.5系统中SSH服务处于非运行状态则使用(service sshd start)命令开启SSH服务;停止SSH服务命令(service sshd stop);重启SSH服务命令(service sshd restart)。

以上方法来自网络,能否成功我也没有试过,我的解决方法是通过远程传输工具,将本地下载好的文件传到系统中,再解压,安装。

再给CentOS 安装了ssh服务后,便可成功执行第5步的操作了:

在这里插入图片描述

到这里,hadoop的ssh免密码登录就配置完成了。



版权声明:本文为lixufei12138原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。