Hadoop:将多个IP地址绑定到群集NameNode

我在Softlayer上有一个四节点的Hadoop集群。 主(NameNode)具有用于外部访问的公共IP地址和用于群集访问的专用IP地址。 从节点(datanode)具有私有IP地址,我正在尝试连接到主节点,而无需为每个从节点分配公共IP地址。

我已经意识到将fs.defaultFS设置为NameNode的公共地址允许外部访问,除了NameNode只侦听传入连接的地址,而不是私有地址。 所以我在datanode日志中得到ConnectionRefusedexception,因为他们试图连接NameNode的私有IP地址。

我认为解决方案可能是将公共和私有IP地址都设置为NameNode,以便保留外部访问并允许我的从属节点也连接。

那么有没有办法可以将这两个地址绑定到NameNode,以便它们同时监听?

编辑:Hadoop版本2.4.1。

提问者将此问题编辑成他的问题作为答案:

在hdfs-site.xml中,将dfs.namenode.rpc-bind-host的值设置为0.0.0.0 ,Hadoop将侦听私有和公共网络接口,以允许远程访问和datanode访问。