解决多节点Hadoop集群中的权限问题

有时候我们可以发现,当我们配置和部署多节点Hadoop集群或添加新的DataNode时,与Hadoop守护程序进行通信时会出现SSH权限问题。

这篇简短的文章旨在说明在尝试建立不带密码短语的Secure Shell / SSH时,如何解决具有NameNode的DataNode之间的权限问题。通过使用DataNode协议,所有DataNode都与NameNode对话。按照设计,NameNode永远不会启动任何RPC(远程过程调用)。相反,它仅响应由DataNodes或客户端发出的RPC请求。

在集群处于活动状态且正在运行的完全分布式环境中,NameNode(Hadoop核心服务,如NodeManager,YARN等)经常使用SSH与DataNode进行通信。简而言之,我们可以说监视每个已配置的DataNode的心跳。一旦我们在该群集中的NameNode($ sbin /.start-dfs.sh)启动Hadoop守护程序,终端控制台中的错误就会显示为'Permission Denied (public key, password)' 。

权限问题
权限问题

大多数时候,我们怀疑公私RSA密钥对生成中存在问题,然后再授予准确的权限。 而且,我们将继续重复这些步骤来解决问题。即使密钥对生成和权限授予通过SSH进行连接都是正确的:

$ ssh-keygen -t rsa -P ” -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

并且能够通过NameNode终端(无需启动Hadoop守护程序)通过口令而不使用SSH SSH到所有系统(为DataNodes指定),可能会出现如上所述的权限被拒绝的问题。 理想情况下,可能会在不知道群集中任何DataNode或Secondary NameNode(如果在单独的系统中配置)的sshd_config文件中进行修改/更改的情况下发生此问题。 该文件在Ubuntu 14.04的/etc/ssh/中可用。 这是我们需要注意的sshd_config中的以下参数。

1.'PubKeyAuthentication'密钥不应带有值'yes'。

sshd1
sshd1

2.'PasswordAuthentication'密钥不应带有值'yes'。

sshd2
sshd2

3.密钥'UsePAM'应取消注释,其值为'no'。

sshd3
sshd3

进行必要的修改后,请重新启动ssh服务或重新引导系统。

$ sudo service network-manager restart
$ sudo service ssh restart

最后,在成功格式化NameNode之后,重新启动集群,该错误将消失,并成功启动集群中的所有DataNode。 我们在多节点集群中使用Ubuntu 14.04作为操作系统。

SO资源郑重声明:
1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!3187589@qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!

SO资源 » 解决多节点Hadoop集群中的权限问题