hdfs配置机架感知需要以下几步:
1 配置core-site.xml文件。配置使用脚本或java类。
2 把脚本或java类放到合适的位置。
3 重启namenode或datanode。
具体如下:
1 java或脚本配置如下:
<property>
<name>topology.node.switch.mapping.impl</name>
<value>org.apache.hadoop.net.ResolveNetworkTopology</value>
</property>
<property>
<name>topology.script.file.name</name>
<value>/opt/hadoop/sh/topology.sh</value>
</property>
2 实现DNSToSwitchMapping的方法。并打包放到hdfs的类路径下。比如/hadoop/share/hadoop/common/lib。
或者使用脚本,脚本就放在对应的位置,保证可执行权限。
3 HA下要重启所有的namenode. 或者偷懒可以只重启修改的datanode。