搭建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为正常启动,如图在网上找了很多相同报
启动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
😃 问题解决
更多推荐
所有评论(0)