HDFS机架感知配置
机架感知需要人为进行配置,编写Python脚本“RackAware.py”。内容为服务器IP与交换机的对应关系。(开源hadoop,使用RackAware.sh)
1.进入hadoop安装包中
例如:
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
2.创建并添加配置信息
vim RackAware.py
添加如下配置信息:
#!/usr/bin/python
#-*-coding:UTF-8 -*-
import sys
rack = {
"节点1的ip":"SW6300-1",
"节点2的ip":"SW6300-2",
"节点3的ip":"SW6300-3",
}
if __name__=="__main__":
print "/" + rack.get(sys.argv[1],"SW6300-1-2")
3.使用以下命令验证
python RackAware.py 节点1的ip
/SW6300-1
python RackAware.py 节点2的ip
/SW6300-2
python RackAware.py 节点3的ip
/SW6300-3
4.编辑core-site.xml配置文件,将脚本配置为topology.script.file.name的值
<property>
<name>topology.script.file.name</name>
<value>/home/bigdata/apps/hadoop/etc/hadoop/RackAware.py </value>
</property>