hadoop生态体系的基本核心功能之一是分布式文件系统,需要配置很多的子节点,主节点和子节点的通信每次都需要输入密码的话会非常的麻烦,如果有成百上千台子节点服务器的话,都使用密码是不现实的,这就需要我们配置ssh的免密登录功能。
1> 查看 /root/.ssh 目录是否存在
ls -a
2> 测试 ssh登录
ssh localhost
此时需要输入密码之后才能登录,登录之后可以看到 .ssh
3> 生成加密文件
ssh-keygen -t rsa 一路回车
id_rsa : 私钥
id_rsa.pub: 公钥
4> 查看生成公钥权限文件
cat id_rsa.pub >> authorized_keys
为了避免以后的麻烦,修改权限: chmod 600 authorized_keys
5> 再次执行 ssh localhost 不用再输入密码
6> 节点之间的免密登录
将本地公约文件拷贝到其它服务器上的公约文件中,这样本机就可以免密码访问其它机器了
命令:cd /root/.ssh
//将本机上的公钥拷贝到hadoop01,hadoop02的公钥文件中
命令:ssh-copy-id -i hadoop01
ssh-copy-id -i hadoop02
//验证是否可以免密码登陆hadoop01,hadoop02(首次需要密码)
注意:前提是需要对每个系统设置系统的hostname和映射文件:
vim /etc/hostname
hadoop00
设置系统节点之间的映射:
vim /etc/hosts
192.168.38.100 hadoop00
192.168.38.101 hadoop01