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

ffdz8vbo  于 2021-05-29  发布在  Hadoop
关注(0)|答案(5)|浏览(658)

我在debian/stretch64上有一个流浪者盒子,我试图用文档安装hadoop3http://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$

当然,我尝试用export hadoop\u ssh\u opts=“-p 22”更新hadoop-env.sh
ssh本地主机工作(无密码)
我不知道我能改变什么来解决这个问题

eqzww0vc

eqzww0vc1#

检查您的 /etc/hosts 文件包含主机名 stretch 以及 localhost 是否Map
我的 /etc/hosts 文件

wswtfjt7

wswtfjt72#

检查防火墙是否在你的流浪者盒子上运行

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

如果不是这样,请查看底层日志/var/log/。。。

kyks70gy

kyks70gy3#

我通过添加 PDSH_RCMD_TYPE=ssh 在我的 .bashrc 以及 $HADOOP_HOME/etc/hadoop/hadoop-env.sh .

hkmswyz6

hkmswyz64#

转到hadoop主目录
~$cd libexec
~$nano hadoop-functions.sh
编辑此行:

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

使用:

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

2ledvvac5#

路上有个问题 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 正如这里所解释的,所以从 $HADOOP_HOME/libexec/hadoop-functions.sh :

PDSH_SSH_ARGS_APPEND="${HADOOP_SSH_OPTS}" pdsh \

通过

PDSH_RCMD_TYPE=ssh PDSH_SSH_ARGS_APPEND="${HADOOP_SSH_OPTS}" pdsh \

obs:只做 export PDSH_RCMD_TYPE=ssh ,正如我在评论中提到的,不起作用。我不知道为什么。。。
我还打开了一个问题并提交了一个解决这个问题的补丁:hadoop-15219

相关问题