hadoop集群无密登陆示意图:
#生成ssh免登陆密钥
#在没生成密钥的时候远程登陆是需要输入密码的,而且每一次启动hdfs的节点都是需要键入密码,
#对应大量集群的hadoop这种问题是十分恶心的,基本上不可行。
无密码状态:
红色框框就是在远程登陆时需要输入密码!
下面我以两台机器
主机:master
还有一台:slave1
作为演示hadoop集群无密登陆,其他的操作完全一样!可以仿造一下操作。
#进入到我的home目录
cd ~/.ssh
1:ssh-keygen -t rsa (四个回车rsa是默认的加密算法)执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
红色圈起来的是密钥生成的默认路径,蓝色框框不用再键入密码,直接回车即可
查看结果:
2:这时需要在.ssh中新建一个authorized_keys的文件,用来存放生成的密钥以及集群的密钥
同时要修改该文件的权限为-rw --- ---
3:把刚刚生成的id_rsa.pub(公钥)追加到authorized_keys中:
可以通过cat查看里面的内容:
cat id_rsa.pub >> authorized_keys
4:到这里master的密钥已经生成并追加完成,接下来就是slave1
slave1与master相同的生成密钥:ssh-keygen -t rsa ,并新建一个authorized_keys文件将id_rsa.pub追加进去;
之后把生成的id_rsa.pub问价传给master(我这传到/home/hadoop/soft文件夹中)
向master中传入id_rsa.pub 利用
scp id_rsa.pub mater:/home/hadoop/soft
5:这时把传过来的id_rsa.pub同样追加到authorized_keys文件中:
cat ../soft/id_rsa.pub >> ./authorized_keys
6:这时无密远程登陆就完全弄好了
启动hdfs也完全不需要再输入密码了