目标:掌握集群的机架感知配置 机架感知需要人为进行配置,编写Python脚本“RackAware.py”。内容为服务器IP与交换机的对应关系。(开源hadoop,使用RackAware.sh)
#!/usr/bin/python
#-*-coding:UTF-8 -*-
import sys
rack = {
"192.168.10.10":"czxy-01",
"192.168.10.11":"czxy-02",
"192.168.10.12":"czxy-03",
"192.168.10.13":"czxy-04",
}
if __name__=="__main__":
print "/" + rack.get(sys.argv[1],"SW6300-1-2")
使用以下命令验证
[root@node01 sbin]# python RackAware.py 192.168.10.10
编辑core-site.xml配置文件,将脚本配置为topology.script.file.name的值
<property>
<name>topology.script.file.name</name>
<value>/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/RackAware.py</value>
</property>
总结: 重新写一遍python配置,还是不行
一开始不懂查日志,看了看以为是没有重启,重新启动一遍集群,还是不行
最后日志往上一翻,发现是没有权限, 原来是重新写python文件删了没有加上,
这次终于搞定!