使用hadoop2(yarn)时出现连接异常

h9vpoimq  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(349)

我已经在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地址(而不是localhost),但没有解决问题。已在机箱上禁用ipv6。我以hduser身份运行这个进程(它对目录有读/写访问权限)。你有什么想法吗?我在一个节点上运行这个。
巴什尔


# 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
x8goxv8g

x8goxv8g1#

你的问题与Yarn无关。它受到hdfs使用的限制。这是一个类似情况的问题-一个被询问的人有9000个端口监听外部ip接口,但配置指向本地主机。我建议首先检查是否有人监听端口9000和什么接口。看起来您在ip接口上有服务侦听,这与您查找它的位置不同。查看您的日志您的客户端正在尝试ubuntu-8.testmachine:9000. 要解析到哪个ip?如果在/etc/hosts中将其分配给127.0.0.1,您可能会遇到我刚才提到的问题—客户端尝试访问127.0.0.1,但服务正在外部ip上等待。好吧,你也可以反过来。下面是hadoop服务的良好默认端口Map表。
实际上,许多类似的情况都有相同的根错误配置的主机接口。人们通常配置自己的工作站主机名,并将此主机名分配给/etc/hosts中的localhost。更重要的是,他们写第一个简短的名字,只有在这个fqdn之后。但这意味着ip被解析为短主机名,而fqdn被解析为ip(非对称)。
这反过来会引发许多情况,其中服务在本地127.0.0.1接口上启动,并且人们有严重的连接问题(您感到惊讶吗?:-)。
正确的方法(至少我鼓励基于过期的方法):
至少分配一个对群集客户端可见的外部接口。如果您有dhcp并且不想使用静态ip,请将您的ip绑定到mac,但移动到“常量”ip值。
将本地主机名写入/etc/hosts以匹配外部接口。先是fqdn名称,然后是短名称。
如果可以,请使用dns解析程序将fqdn解析到ip中。别在意短名字。
例如,您将external ip interface 1.2.3.4和fqdn(完全限定域名)设置为myhost.com—在这种情况下,/etc/hosts记录必须如下所示:
1.2.3.4 myhost.com我的主机
是的,你的dns解析程序最好知道你的名字。检查直接和反向分辨率:
主机myhost.com主机1.2.3.4
是的,就网络管理而言,集群并不是那么容易的;-)。从来没有,将来也不会。

q35jwt9p

q35jwt9p2#

确保已经启动了所有必需的命令,键入start-all.sh,此命令将启动连接到hadoop所需的所有服务。
之后,您可以键入jps,使用此命令可以看到所有在hadoop下运行的服务,最后,使用netstat-plnet | grep java检查这些服务打开的端口。
希望这能解决你的问题。

相关问题