PreDo
这里可能需要做两个步骤
- 创建hadoop用户
useradd hadoop
su hadoop
- 修改hostname
sudo vim /etc/hostname
例如修改为hadoop001
- 修改hosts
sudo vim /etc/hosts
在末尾添加,具体ip根据自己实际情况进行更改
192.168.71.130 hadoop002
192.168.71.133 hadoop001
192.168.71.131 hadoop003
修改成功后,重启生效
正文
为了避免频繁使用root,我们这里使用hadoop用户进行配置
1. 新建路径.ssh
mkdir ~/.ssh
2. 生成公钥私钥
cd ~/.ssh
# 敲三下回车生成
ssh-keygen -t rsa
3. 将公钥添加到授权中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
4. 在机器间同步公钥
-
通过scp的方式将authorized_keys发送到集群的其他机器,采用相同的方式将其他机器的公钥添加到authorized_keys中,这个过程可能需要输入password
需要注意的是,生成密钥的用户需要为hadoop用户,若是在root权限下生成的密钥,里面包含root@,代表着这个密钥只会在以root用户登录时才会免密。
用hadoop生成的密钥,里面会包含hadoop@ -
将包含有集群中所有服务器公钥的authorized_keys文件,再通过scp的方式同步到每一台机器的~/.ssh/中,覆盖原有authorized_keys
5. 修改权限
否则可能会导致文件无法正常读取,登陆时仍需要输入密码
# 修改.ssh目录权限
chmod 700 ~/.ssh
# 修改authorized_keys权限
chmod 600 ~/.ssh/authorized_keys
6. 用户确认
使用ll查看authorized_keys以及.ssh/,确保是hadoop用户拥有,如果是root,使用chown将其改为hadoop
chown -R hadoop:hadoop ~/.ssh