Hadoop:start-dfs.sh连接被拒绝

时间:2018-01-10 14:48:00

标签: hadoop ssh debian hadoop3

我在debian / stretch64上有一个流浪盒 我尝试使用文档安装Hadoop3 http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.htm

当我运行start-dfs.sh时 我有这条消息

vagrant@stretch:/opt/hadoop$ sudo sbin/start-dfs.sh
Starting namenodes on [localhost]
pdsh@stretch: localhost: connect: Connection refused
Starting datanodes
pdsh@stretch: localhost: connect: Connection refused
Starting secondary namenodes [stretch]
pdsh@stretch: stretch: connect: Connection refused
vagrant@stretch:/opt/hadoop$

当然我尝试用以下内容更新我的hadoop-env.sh: export HADOOP_SSH_OPTS =“ - p 22”

ssh localhost工作(没有密码)

我没有想法可以改变什么来解决这个问题

8 个答案:

答案 0 :(得分:3)

默认情况下pdsh的工作方式存在问题(请参阅编辑),但Hadoop可以不使用它。 Hadoop检查系统pdsh上是否有/usr/bin/pdsh,如果是,则使用它。远离使用pdsh的一种简单方法是编辑$HADOOP_HOME/libexec/hadoop-functions.sh

替换

if [[ -e '/usr/bin/pdsh' ]]; then

通过

if [[ ! -e '/usr/bin/pdsh' ]]; then

然后hadoop没有pdsh,一切正常。

修改

更好的解决方案将使用pdsh,但ssh改为rsh,如here所述,因此从{{1}替换行}}:

$HADOOP_HOME/libexec/hadoop-functions.sh

通过

PDSH_SSH_ARGS_APPEND="${HADOOP_SSH_OPTS}" pdsh \

Obs:正如我在评论中提到的那样,只做PDSH_RCMD_TYPE=ssh PDSH_SSH_ARGS_APPEND="${HADOOP_SSH_OPTS}" pdsh \ 并不起作用。我不知道为什么......

我还打开了一个问题并提交了一个针对此问题的补丁:HADOOP-15219

答案 1 :(得分:2)

检查您的echo "https://some.site/52d7e-8b88-0156426e1-audio=96000-481.m4s" \ | awk -F'.' '{print $0"\\]."$NF}'|sed 's/.m4s//' 文件是否包含主机名/etc/hostsstretch映射

my /etc/hosts file

答案 2 :(得分:0)

检查防火墙是否在您的流浪盒上运行

chkconfig iptables off
/etc/init.d/iptables stop

如果没有查看基础日志/ var / log /...

答案 3 :(得分:0)

我通过添加

修复了hadoop 3.1.0的这个问题

PDSH_RCMD_TYPE=ssh

在我的.bashrc以及$HADOOP_HOME/etc/hadoop/hadoop-env.sh

答案 4 :(得分:0)

转到您的hadoop主目录

〜$ cd libexec

〜$ nano hadoop-functions.sh

编辑此行:

if [[ -e '/usr/bin/pdsh' ]]; then

具有:

if [[ ! -e '/usr/bin/pdsh' ]]; then

答案 5 :(得分:0)

<块引用>

另外,为了更好的ssh资源管理,建议也安装pdsh。 —— Hadoop: Setting up a Single Node Cluster

我们可以删除 pdsh 来解决这个问题。

apt-get remove pdsh

答案 6 :(得分:0)

我正在处理我同事的问题。 他使用主机文件中的主机名配置了 ssh,并在工作程序中指定了 ip。 在我重写工人文件后,一切正常。

~/hosts 文件

10.0.0.1 slave01

#ssh-copy-id hadoop@slave01

~/hadoop/etc/workers

slave01

答案 7 :(得分:0)

我将 export PDSH_RCMD_TYPE=ssh 添加到了我的 .bashrc 文件中,然后注销并重新登录,结果正常。

出于某种原因,简单地导出并立即运行对我不起作用。