fs.defaultFS仅侦听localhost的端口8020

时间:2013-10-27 12:51:35

标签: hadoop hdfs cloudera

我有一个CDH4.3一体机vm启动并运行,我正在尝试远程安装hadoop客户端。我注意到,在不更改任何默认设置的情况下,我的hadoop群集正在监听127.0.0.1:8020

[cloudera@localhost ~]$ netstat -lent | grep 8020
tcp        0      0 127.0.0.1:8020              0.0.0.0:*                   LISTEN      492        100202 

[cloudera@localhost ~]$ telnet ${all-in-one vm external IP} 8020
Trying ${all-in-one vm external IP}...
telnet: connect to address ${all-in-one vm external IP} Connection refused
[cloudera@localhost ~]$ telnet 127.0.0.1 8020
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'

我的远程计算机具有指向core-site.xml, hdfs-site.xml的所有配置(${all-in-one vm external IP})。当我从远程客户端运行某些东西时,我得到了这个:

└ $ ./bin/hdfs --config /home/${myself}/hadoop-2.0.0-cdh4.3.0/etc/hadoop dfs -ls
13/10/27 05:27:53 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
ls: Call From ubuntu/127.0.1.1 to ${all-in-one vm external IP}:8020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

我改变了我的hadoop all-in-one vm: 来自core-site.xml and hdfs-site.xml的{​​{1}}下的/etc/hadoop/conf - > localhost.localdomain但是在重新启动hdfs之后,它仍然会监听localhost 8020.任何想法?如何让它在8020而不是localhost上听$ {external IP}。

1 个答案:

答案 0 :(得分:1)

您应该能够直接将属性dfs.namenode.rpc-address调整为0.0.0.0:8020,以使NameNode客户端IPC服务在所有接口上进行侦听,或者将其设置为您的特定IP,以便只在其中进行侦听。

也就是说,您声明的all-in-one vm external IP更改应该有效,但由于问题没有您的确切配置和日志,我无法说明原因。