搭建hadoop报错node1: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

启动hadoop伪分布式集群报错
node1: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). node2: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

数据节点node1和node2为正常启动
,如图

搭建hadoop报错node1: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)._第1张图片
在网上找了很多相同报错都是ssh免秘登陆的问题,但在这报错前每台服务器可以实现免密访问,最开始排除了ssh免密连接问题

先检查hosts文件是否配置了IP地址和主机名对应关系

#vi /etc/hosts

三台服务器都检查,看是否有错误导致master不能识别node1和node2主机名
我的配置如下
搭建hadoop报错node1: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)._第2张图片在每个服务器上再关闭防火墙,这一步最开始就得做,这里怕遗漏再每个节点执行一遍

# systemctl disable firewalld.service

执行开机禁用防火墙自启命令
接着执行启动hadoop集群命令

[root@master sbin]# start-all.sh 

依然报错,接下来考虑ssh问题,主要考虑是否node1和node2传输了公匙到master节点,以及master节点是否授权了authonized文件
接下来在node1节点执行

[root@node1 ~]# ssh-keygen -t rsa

之前生成过在是否重复执行那按yes
搭建hadoop报错node1: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)._第3张图片
把产生的公钥文件放置到authorized_keys文件中,命令如下:

[root@node1 etc ]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[root@node1 etc ]# chmod 0600 ~/.ssh/authorized_keys

在node1主机上,传输公钥到master主机

[root@node1 ~]# ssh-copy-id -i master

同样的方式在master节点上执行如下命令:

[root@master ~]# ssh-copy-id -i node1

node2节点执行同样操作
再在master节点授权

[root@master .ssh]# chmod 0600 authorized_keys

将授权文件发送到其他主机

[root@master .ssh]# scp authorized_keys node1:/root/.ssh/

将授权文件发送到其他主机

[root@master .ssh]# scp authorized_keys node2:/root/.ssh/

在重新在master节点启动hadoop集群

#start-all.sh 

搭建hadoop报错node1: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)._第4张图片
问题解决

你可能感兴趣的:(#,Hadoop)