问题描述:
一个客户因为他们集群网络环境的变化,要求他们集群把hdfs的namenode监听8020端口的特定IP改为0.0.0.0,在官网上查到了这个方法,具体风险未知,先在我们测试集群上搞了一下,发现hdfs没有受到影响,客户那边实施变更后也一切正常,证明这个方法可用,分享出来!
解决办法:
1.hdfs组件namenode进入安全模式。
执行命令:hdfs dfsadmin -safemode enter
2.保存现有namenode日志信息,执行命令:hdfs dfsadmin -saveNamespace
3.到ambari管理界面停止hdfs组件。
4.到ambari管理界面hdfs-site配置中添加hdfs以下4个属性:
dfs.namenode.http-bind-host=0.0.0.0
dfs.namenode.https-bind-host=0.0.0.0
dfs.namenode.rpc-bind-host=0.0.0.0
dfs.namenode.servicerpc-bind-host=0.0.0.0
5.保存后重启hdfs
6.重启成功后执行命令:netstat -nlp | grep 8020扶额和预期,将namenode退出安全模式,执行命令:hadoop dfsadmin -safemode leave
7.如果服务异常不可用,则把配置回滚,重启HDFS服务。