我在执行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版本。
任何帮助都将受到赞赏
我也遇到了同样的事情,我这样做了我发现我的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
卸载pdsh
将解决此问题。我正在使用Ubuntu上的Hadoop版本3.2.1 18.04.4 Lts。
i在几台新鲜安装的虚拟机和一台旧VM上测试start-dfs.sh
。该命令仅在旧VM上失败。我尝试了高投票的答案,发现只有旧的VM已安装了pdsh
。因此,我卸载了此软件,然后成功执行了命令。
因此,如果您没有出于某种目的安装pdsh
,则可以尝试卸载它。
尝试卸载pdsh
sudo apt-get remove pdsh
然后通过:
重新启动您的hadoop sudo start-dfs.sh
这是对我有用的。
sudo用户还可以通过命令将PDSH的RCMD类型更改为SSH:
echo "ssh" | sudo tee /etc/pdsh/rcmd_default
尝试使用sudo
示例:
sudo start-dfs.sh
否则更改文件夹的所有者hadoop_1.2.7
示例:
sudo chown -R user_name:user_name hadoop_1.2.7