在安装Hadoop前,需要将每台机器配置为ssh免密码登录处理,我的环境为:3台虚拟机,全部采用CentOS系统,主机名分为:master1(IP:192.168.1.52)、slave1(IP:192.168.1.53)、slave2(IP:192.168.1.54)
一、首先配置master1免密码登录到slave1和slave2上
1.在master1、slave1、slave2上创建hadoop用户,并且用hadoop用户登录到master1
2.运行ssh-keygen -t rsa 生成文件,注:输入命令后一直回车,无须输入任何信息,这样将会在/home/hadoop/.ssh/文件夹下生成id_rsa和id_rsa.pub两个文件
3.复制id_rsa.pub这个文件到authorized_keys这个文件,
cd ~/.ssh
cp id_rsa.pub authorized_keys
4.将master1上的公钥复制到slave1和slave2上,以slave1为例:
运行ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.1.53,之后如果是第一次登录,输入yes,然后输入密码即可,如果不是第一次登录则直接输入密码即可;下图是第一次登录
这样在slave1上的hadoop用户中将会产生authorized_keys这个文件。
此时master1即可免密码登录到slave1上,同理处理slave2.
二、配置slave1免密码登录到master1和slave2上,道理同master1免密码登录到slave1和slave2上。只是这时~/.ssh/authorized_keys这个文件不能采用复制,即上面的步骤3中的cp id_rsa.pub authorized_keys 变为:cat id_rsa.pub >> authorized_keys