我正在尝试使用HDFS的net.topology.script.file.name
属性来识别Hadoop机架(我正在使用cloudera manager UI)。我在Cloudera Manager中针对net.topology.script.file.name
配置了以下脚本(该脚本在hadoop社区站点中可用)。
脚本:/tmp/test.sh
#!/usr/bin/bash
echo $@ | xargs -n 1 | awk -F '.' '{print "/rack"$NF}'
/tmp/test.sh的示例输出
/tmp/test.sh 10.98.102.60
/rack60
针对net.topology.script.file.name
属性的当前HDFS配置
/tmp/test.sh 10.98.102.60 10.98.102.61
从cloudera manager UI更新配置后,我重新启动了HDFS服务。
但是我看不到topology.map
目录下/var/run/cloudera-scm-agent/process/NAMENODE
或Rack
列下的cloudera manager UI中的任何更改。
我知道这可以通过在cloudera Manager UI中从“所有主机”->“所选操作”->“分配机架”中导航来完成。但是我必须手动为每个节点执行此操作。我想自动化单个脚本中的所有节点。
任何人都可以使用net.topology.script.file.name
属性通过cloudera Manager UI告诉如何操作。