我有一个监听192.168.50.1:9000
的hdfs集群,这意味着它仅接受通过该IP的连接。我希望它在0.0.0.0:9000
听。当我在127.0.0.1 localhost master
中输入/etc/hosts
时,它从127.0.0.1:9000
开始,这将阻止所有节点连接。
这个问题类似于How to make Hadoop servers listening on all IPs,但是对于hdfs,而不是yarn。
core-site.xml
是否有与yarn.resourcemanager.bind-host
类似的设置,或是否有其他配置方法?如果没有,那么背后的原因是什么?这是一项安全功能吗?
答案 0 :(得分:1)
对于NameNode,您需要在hdfs-site.xml中将其设置为0.0.0.0
:
dfs.namenode.rpc-bind-host
dfs.namenode.servicerpc-bind-host
dfs.namenode.lifeline.rpc-bind-host
dfs.namenode.http-bind-host
dfs.namenode.https-bind-host
DataNode默认使用0.0.0.0
。
如果您需要找到HDFS的配置变量,请参考hdfs-default.xml。
如果您查看任何官方的Hadoop文档,也非常有用,页面左下角的所有XML文件都是默认值。
因此,您可以转到Apache Hadoop 2.8.0或您的特定版本,找到所需的设置。
答案 1 :(得分:0)
这个问题已经很老了,但是,通常您不需要配置绑定地址0.0.0.0,因为它是默认值!您希望在/etc/hosts
文件127.0.0.1 hostname
中有一个条目,该条目将hadoop解析为127.0.0.1。
因此,您需要删除该条目,并且hadoop将绑定到所有接口(0.0.0.0),而在配置文件中没有任何其他配置条目。