我为在ubuntu14.04上安装hadoop采取了所有必要的步骤。但当我尝试在“hadoop namenode”-format”之后运行“start all.sh”时,它显示错误(主要是:
Starting namenodes on [localhost]
pdsh@k-Inspiron-5537: localhost: rcmd: socket: Permission denied
Starting datanodes
pdsh@k-Inspiron-5537: localhost: rcmd: socket: Permission denied
Starting secondary namenodes [k-Inspiron-5537]
pdsh@k-Inspiron-5537: k-Inspiron-5537: rcmd: socket: Permission denied
Starting nodemanagers
pdsh@k-Inspiron-5537: localhost: rcmd: socket: Permission denied
如何授予pdsh包权限?有人能帮我吗?
3条答案
按热度按时间qvtsj1bj1#
尝试给出start-all.sh的完整路径。
尝试运行:
因为start-all.sh和stop-all.sh位于sbin目录,而hadoop二进制文件位于bin目录。
还更新了.bashrc:
以便您可以直接访问start-all.sh
92dk7w1h2#
我也遇到了同样的事情,我这样做了我发现我的pdsh默认rcmd是rsh,不是ssh,rsh和ssh远程登录认证是不一样的,安装hadoop时我配置了ssh localhost免密码登录,但是rsh是不可能的。
所以,试试:
1.检查您的pdsh默认rcmd rsh
pdsh-q-wlocalhost查看您的pdsh默认rcmd是什么。
2.将pdsh的默认rcmd修改为ssh
export pdsh\u rcmd\u type=ssh您可以添加到~/.bashrc和source~/.bashrc
3.sbin/start-dfs.sh文件
pieyvz9o3#
安装时可能会遗漏“无密码ssh”,或者可能没有正确配置。
你需要做的是:
1) 使用“sudo apt get install ssh”安装ssh。
2) 使用ssh keygen-t rsa-p'''-f~/.ssh/id\u rsa生成ssh密钥。
3) 现在使用public rsa key将无密码ssh配置为使用cat~/.ssh/id\u rsa.pub>~/.ssh/authorized\u keys的文件authorized\u keys
4) 然后使用chmod 0600~/.ssh/authorized\u密钥授予此新文件的权限
5) 现在尝试使用ssh localhost进行ssh。它将询问“是否确实要继续连接(是/否)”,然后键入“是”。
在第一步之后,我看到消息永久地添加了'localhost'(ecdsa)到已知主机的列表中,那么您已经成功地配置了无密码ssh。
现在尝试格式化namenode,然后运行命令start-all.sh。更多信息请参见此。
编辑时间:
请尝试以下命令以获取pdsh错误:“rcmd:socket:permission denied”