无法运行 start-all.sh Hadoop Ubuntu



我采取了在 ubuntu 14.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 包权限? 有人可以帮我吗?

尝试提供 start-all.sh 的完整路径。

尝试运行:

hduser@ubuntu:~$ /usr/local/hadoop/sbin/start-all.sh

由于 start-all.sh 和 stop-all.sh 位于sbin目录中,而Hadoop二进制文件位于bin目录中。

还更新了您的 .bashrc:

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

以便您可以直接访问 start-all.sh

安装时您可能错过的是"无密码 ssh",或者可能没有以正确的方式配置。

您需要做的是:

1( 使用 ">sudo apt-get install ssh" 安装ssh

2( 使用ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa生成 SSH 密钥。

3(现在使用公共rsa密钥将无密码ssh配置为使用cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys的文件authorized_keys

4(然后使用chmod 0600 ~/.ssh/authorized_keys授予对这个新文件的权限

5(现在尝试使用ssh本地主机进行ssh。它会询问"您确定要继续连接(是/否(吗?"然后键入是。

在第一步之后,您看到消息为永久添加到已知主机列表中"本地主机"(ECDSA(,那么您已成功配置无密码 ssh。

现在尝试格式化 namenode,然后运行命令start-all.sh

编辑:

尝试以下命令处理 pdsh 错误:"rcmd:套接字:权限被拒绝">

echo "ssh" > /etc/pdsh/rcmd_default

我也遇到了同样的事情,我这样做了 我发现我的 pdsh 默认 rcmd 是 rsh,而不是 ssh,rsh 和 ssh 远程登录身份验证是不一样的,安装 Hadoop时我配置了 ssh 本地主机免密码登录,但 rsh 是不可能的。

所以,试试:

1.检查您的 PDSH 默认 RCMD RSH

pdsh -q -w localhost 查看您的 pdsh 默认 rcmd 是什么。

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

导出 PDSH_RCMD_TYPE=SSH 你可以被添加到~/.bashrc,并来源~/.bashrc

3.start-dfs.sh

最新更新