gpt4 book ai didi

linux - 使用 hadoop2 (YARN) 时出现连接异常

转载 作者:可可西里 更新时间:2023-11-01 14:47:09 24 4
gpt4 key购买 nike

我在 ubuntu 上安装了 Hadoop (YARN)。资源管理器似乎正在运行。当我运行 hadoop fs -ls 命令时,我收到以下错误:

14/09/22 15:52:14 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
ls: Call From ubuntu-8.abcd/xxx.xxx.xxx.xxxx to ubuntu-8.testMachine:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused

我检查了错误消息中建议的 URL,但无法弄清楚如何解决该问题。我已经尝试在我的 core-site.xml 文件(在 etc/hadoop 中)中设置外部 IP 地址(而不是本地主机),但这并没有解决问题。盒子上的 IPv6 已被禁用。我正在以 hduser 身份运行该进程(对目录具有读/写访问权限)。关于解决这个问题有什么想法吗?我在单个节点上运行它。

bashrc

#HADOOP VARIABLES START
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export HADOOP_INSTALL=/usr/local/hadoop/hadoop-2.5.1
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export HADOOP_YARN_HOME=$HADOOP_INSTALL ##added because I was not sure about the line below
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_CONF_DIR=$HADOOP_INSTALL/etc/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
#HADOOP VARIABLES END

最佳答案

您的问题与 YARN 无关。它受 HDFS 使用的限制。 Here is the question有类似的情况 - 询问的人有 9000 端口监听外部 IP 接口(interface)但配置指向本地主机。我建议首先检查是否有人在端口 9000 和什么接口(interface)上监听。看起来您在 IP 接口(interface)上有服务监听,这与您寻找它的位置不同。查看您的日志,您的客户正在尝试 ubuntu-8.testMachine:9000。它被解析到什么IP?如果它在/etc/hosts 中分配给 127.0.0.1,您可能会遇到我提到的问题 - 客户端尝试访问 127.0.0.1 但服务正在等待外部 IP。好的,反之亦然。这是 good default port mapping table用于 Hadoop 服务。

事实上,许多类似的案例都有相同的根源——错误配置的主机接口(interface)。人们经常配置他们的工作站主机名并将此主机名分配给/etc/hosts 中的 localhost。此外,他们写第一个短名称,并且仅在此 FQDN 之后。但这意味着 IP 被解析为短主机名,而 FQDN 被解析为 IP(非对称)。

这反过来会引发许多情况,其中服务在本地 127.0.0.1 接口(interface)上启动并且人们遇到严重的连接问题(您感到惊讶吗?:-))。

正确的方法(至少我根据经验鼓励它):

  1. 至少分配一个对集群客户端可见的外部接口(interface)。如果您有 DHCP 但不想拥有静态 IP,请将您的 IP 绑定(bind)到 MAC,但移动到“恒定”IP 值。
  2. 将本地主机名写入/etc/hosts 以匹配外部接口(interface)。首先是 FQDN 名称,然后是短名称。
  3. 如果可以,让您的 DNS 解析器将您的 FQDN 解析为您的 IP。不关心简称。

例如,您将外部 IP 接口(interface) 1.2.3.4 和 FQDN(完全限定域名)设置为 myhost.com - 在这种情况下,您的/etc/hosts 记录必须如下所示:

1.2.3.4 myhost.com myhost

是的,您的 DNS 解析器最好知道您的名字。检查直接和反向分辨率:

host myhost.com host 1.2.3.4

是的,就网络管理而言,集群并不是那么容易;-)。从来没有,也永远不会。

关于linux - 使用 hadoop2 (YARN) 时出现连接异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25982178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com