如何使用脚本自动配置hadoop集群的ssh无密码登录

这篇文章主要为大家展示了“如何使用脚本自动配置hadoop集群的ssh无密码登录”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用脚本自动配置hadoop集群的ssh无密码登录”这篇文章吧。

网上很多文章都是在root直接配置的,因为我是用单独的hadoop用户,所以是在该用户下执行操作。

#!/bin/bash

export SLAVES="slave1 slave2"
export USER='hadoop'

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa                   #生成本机密钥对,一般在登录用户的.ssh目录下

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys            #把公钥追加到授权的key里面去,此时已经可以ssh本机了,可用ssh localhost测试

chmod 600 ~/.ssh/authorized_keys                           #修改文件"authorized_keys"权限,不安全的设置安全设置,会让你不能使用RSA功能
                                                           #在验证时,扔提示你输入密码,经常都是这里出问题
echo $SLAVES | tr " " "\n"| while read LINE                
do
	ssh-copy-id -i ~/.ssh/id_rsa.pub $USER@$LINE       # 把公钥分发到集群其他节点,$SLAVES为节点主机名列表
	echo "Copying keygen  to $LINE"
done

执行之后,无密码登录设置成功。已经可以从主节点无密码登录到其他节点了。

注意1:以上仅配置了主节点无密码登录到其他节点,如果要配置其他节点到主节点的ssh,可自行修改在相应节点执行即可。

注意2:各节点配置ssh的用户必须一致,不然会出问题。

以上是“如何使用脚本自动配置hadoop集群的ssh无密码登录”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!