运行start-dfs.sh时出现权限被拒绝错误

时间:2017-03-13 04:18:23

标签: sockets hadoop hdfs yarn hadoop2

执行start-dfs.sh

时出现此错误
Starting namenodes on [localhost] 
pdsh@Gaurav: localhost: rcmd: socket: Permission denied 
Starting datanodes
pdsh@Gaurav: localhost: rcmd: socket: Permission denied
Starting secondary namenodes [Gaurav]
pdsh@Gaurav: Gaurav: rcmd: socket: Permission denied 2017-03-13 09:39:29,559 
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

使用hadoop 3.0 alpha 2版本。

感谢任何帮助

5 个答案:

答案 0 :(得分:7)

我也遇到了同样的事情,我这样做了 我发现我的pdsh默认rcmd是rsh,而不是ssh,rsh和ssh远程登录验证不一样,安装hadoop时我配置了ssh localhost无密码登录,但是rsh是不可能的。

这样,尝试:

1.检查你的pdsh默认rcmd rsh

pdsh -q -w localhost

查看您的pdsh默认rcmd是什么。

2.将pdsh的默认rcmd修改为ssh

export PDSH_RCMD_TYPE=ssh

您可以添加到〜/ .bashrc和source ~/.bashrc

3。sbin / start-dfs.sh

答案 1 :(得分:4)

卸载pdsh将解决此问题。我正在Ubuntu 18.04.4 LTS上使用Hadoop 3.2.1版。

我在几台新安装的虚拟机和一台旧VM上测试了start-dfs.sh。该命令仅在旧VM上失败。我尝试过high-voted answer,发现只有旧版VM安装了pdsh。所以我卸载了该软件,然后命令成功执行。

因此,如果您出于某种目的未安装pdsh,则可以尝试将其卸载。

答案 2 :(得分:1)

sudo 用户还可以通过以下命令将 pdsh 的 Rcmd 类型更改为 ssh:

echo "ssh" | sudo tee /etc/pdsh/rcmd_default

答案 3 :(得分:0)

尝试使用sudo

示例:

sudo start-dfs.sh

否则更改文件夹hadoop_1.2.7的所有者

示例:

sudo chown -R user_name:user_name hadoop_1.2.7

答案 4 :(得分:0)

尝试卸载pdsh

sudo apt-get remove pdsh

,然后通过以下方式重新启动您的hadoop:

sudo start-dfs.sh

这对我有用。