我试图在Hadoop上做多节点集群(实际上有两个节点--1个主节点和1个从节点)。我按照Multinode Cluster for Hadoop 2.x的说明进行操作 当我执行订单时:
./sbin/start-all.sh
我收到了我的从属节点的错误消息:
slave: Permission denied (publickey)
我已修改主服务器和从服务器上的两个.ssh/authorized_keys
文件,并从主服务器和从服务器添加.ssh/id_rsa.pub
的密钥。
最后,我还在两个节点(主节点和从节点)上使用下一个命令sudo service ssh restart
重新启动了ssh。
通过执行命令./sbin/start-all.sh
,我不会遇到主节点的问题,但是从节点让我回到错误消息权限被拒绝。
有什么想法,为什么我看不到奴隶节点?
jps
命令的执行让我当前接下来的结果:
主
18339 Jps
17717 SecondaryNameNode
18022 NodeManager
17370 NameNode
17886 ResourceManager
从属
2317 Jps
我认为,主人还可以,但我对奴隶有麻烦。
答案 0 :(得分:0)
在主人身上ssh-keygen
之后。在所有从属设备上使用id_rsa.pub
将authorized_keys
复制到cat id_rsa.pub >> authorized_keys
。使用以下方法测试无密码ssh:
ssh <slave_node_IP>
答案 1 :(得分:0)
如果您已将整个hadoop文件夹从主节点复制到从属节点(为了便于复制),请确保从属节点的hadoop文件夹具有来自从属系统的正确所有者。
chown * 777 <slave's username> </path/to/hadoop>
我在我的奴隶系统上运行了这个命令,它解决了我的问题。