如需大数据开发整套视频(hadoop\hive\hbase\flume\sqoop\kafka\zookeeper\presto\spark):请联系QQ:1974983704
一、为什么设置ssh免密码登录
在集群中,Hadoop控制脚本依赖SSH来执行针对整个集群的操作。例如,某个脚本能够终止并重启集群中的所有守护进程。所以,需要安装SSH,但是,SSH远程登陆的时候,需要密码验证,集群中数千台计算机,数千台计算机都需要手工输入密码,这是不太现实的,所以,就需要配置SSH无密码登录。
二、环境
Hadoop集群,虚拟机中安装了3个节点,为centos6.5操作系统
master : 192.168.232.2(为主节点)
slave1 : 192.168.232.3
slave2 : 192.168.232.4
三、设置免密码登录流程概述
- 在3个节点上分别生成密钥
1 ssh-keygen -t rsa
将公钥复制为authorized_keys
1 cp ~/.ssh/id_ras.pub ~/.ssh/authorized_keys
- 将slave1、salve2中的~/.ssh/authorized_keys远程传输到master中
slave1中执行:
scp ~/.ssh/authorized_keys zhangc@master:~/.ssh/authorized_keys_slave1
Slave2中执行:
scp ~/.ssh/authorized_keys zhangc@master:~/.ssh/authorized_keys_slave2
zhangc@master:zhangc为我虚拟机用户名,master为虚拟机名称
- 在master虚拟机上将authorized_keys_slave1和authorized_keys_slave2添加到authorized_keys
cd ~/.ssh/
cat authorized_keys_slave1 >> authorized_keys
cat authorized_keys_slave2 >> authorized_keys
查看是否将authorized_keys_slave1 、authorized_keys_slave2写入到authorized_keys中
cat authorized_keys
- 如果添加成功,将master中的~/.ssh/authorized_keys分发到slave1、slave2节点
scp ~/.ssh/authorized_keys zhangc@slave1:~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys zhangc@slave2:~/.ssh/authorized_keys
四、互测SSH
在master中:
ssh slave1
ssh slave2
在slave1中:
ssh master
ssh slave2
在slave2中:
ssh master
ssh slave1