Hadoop(四)-ssh免密登陆配置

一、配置免密码登陆

1. ssh-****** -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
Hadoop(四)-ssh免密登陆配置
2.将自己的公钥拷贝到.ssh/下面
Hadoop(四)-ssh免密登陆配置
3.注意在启动时会出现如下错误
Hadoop(四)-ssh免密登陆配置
有些进程没有启动起来
Hadoop(四)-ssh免密登陆配置
18/05/14 15:57:08 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
解决方法:首先进到hadoop安装目录下,查看lib依赖问题,cd /master/hadoop/lib/native下
[[email protected] native]# ldd libhadoop.so.1.0.0
Hadoop(四)-ssh免密登陆配置
我们看到不是64位或者32位的问题,但是有一个GLIBC_2.14找不到,我们继续查找
ldd --version
Hadoop(四)-ssh免密登陆配置
原来系统预装的glibc库是2.12版本,而hadoop期望是2.14版本,所以打印警告信息。
现在有两个办法,重新编译glibc.2.14版本,安装后专门给hadoop使用,这个有点危险。
第二个办法直接在log4j日志中去除告警信息。在//usr/local/hadoop-2.6.2/etc/hadoop/log4j.properties文件中添加
1. log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR
Hadoop(四)-ssh免密登陆配置
Hadoop(四)-ssh免密登陆配置
4.cd ~/.ssh #进入到.ssh目录下
cat id_rsa.pub >> authorized_keys #将公钥写到文件中
chmod 600 ~/.ssh/authorized_keys #权限设置为600
这样自己就可以免登陆到自己了
vi /etc/ssh/sshd_config
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径
Hadoop(四)-ssh免密登陆配置
如果要另一台电脑也可以登陆到主机,则使用同样的方法,生成秘钥,然后将公钥发送给要登陆的主机
注意:这个有个简单的方法拷贝公钥

ssh-copy-id 主机的ip