执行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版本。
感谢任何帮助
答案 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
这对我有用。