在配置hadoop集群时,需要设置各机器之间能通过ssh的免密进行通讯,具体步骤如下:
1、修改配置
2、生成密码
3、设置免密登录
免密登录具体操作如下:
一、配置修改
1、配置hostname
配置文件为:/etc/sysconfig/network;
/etc/hosts;hosts中要求每个主机都做相同的配置,设置好IP对应的hostname
2、修改ssh文件
配置文件为:/etc/ssh/sshd_config,需增加
RSAAuthentication yes
PubKeyAuthentication yes两个设置
二、生成密钥
使用普通用户命令:ssh-keygen -t rsa 会在用户当前目录下生成.ssh目录,并会生成id_rsa、id_rsa.pub两个文件;在每台主机中都执行一次此命令,并将.ssh目录的权限改为 700 ,执行命令如下:chmod 700 .ssh
三 设置免密登录
使用命令将第一台主机的公钥 id_rsa.pub发送到其他主机的.ssh目录下,生成的文件能做唯一区分,以免混淆
执行如下命令:scp id_rsa.pub 用户名@目录hostname:/目标目录/文件名
示例:scp id_rsa.pub hadoop@bigdata02.com:/home/szme/.ssh/id_rsa.pub_from_01
命令执行成功后,在bigdata02.com的机器上会多出一公钥文件,需要将该公钥添加到本机的authorized_keys文件中
执行命令如下:cat id_rsa.pub_from_01 >> authorized_keys,并修改该文件的权限(如果该文件不存在命令执行后会自动生成)
再回到第一台主机使用命令:ssh bigdata02.com 即可直接登录到bigdata02.com的机器