搭建hadoop3.x报错 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为正常启动
,如图

在这里插入图片描述
在网上找了很多相同报错都是ssh免秘登陆的问题,但在这报错前每台服务器可以实现免密访问,最开始排除了ssh免密连接问题

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

#vi /etc/hosts
  • 1

三台服务器都检查,看是否有错误导致master不能识别node1和node2主机名
我的配置如下
在这里插入图片描述在每个服务器上再关闭防火墙,这一步最开始就得做,这里怕遗漏再每个节点执行一遍

# systemctl disable firewalld.service
  • 1

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

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

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

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

之前生成过在是否重复执行那按yes
在这里插入图片描述
把产生的公钥文件放置到authorized_keys文件中,命令如下:

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

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

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

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

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

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

[root@master .ssh]# chmod 0600 authorized_keys
  • 1

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

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

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

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

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

#start-all.sh 
  • 1

在这里插入图片描述
😃 问题解决

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值