编辑core-site.xml配置文件,将脚本配置为topology.script.file.name的值
进入到
/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
的位置编辑core-site.xml配置文件,将下面的代码添加到文件的末尾并保存
topology.script.file.name
/home/bigdata/apps/hadoop/etc/hadoop/RackAware.py
最后进入到
/export/servers/hadoop-2.6.0-cdh5.14.0/sbin
的位置重新启动hadoop的相关节点服务,运行正常后打开浏览器
输入http://192.168.10.201:8088/cluster/nodes
点击Nodes查看是否修改成功
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
机架感知需要人为进行配置,编写Python脚本“RackAware.py”。内容为服务器IP与交换机的对应关系。(开源hadoop,使用RackAware.sh)
一、编写Python脚本“RackAware.py”
1: 选择主节点进入到
/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
编写Python脚本“RackAware.py”
#!/usr/bin/python
#-*-coding:UTF-8 -*-
import sys
rack = {
"192.168.10.201":"SW6300-1",
"192.168.10.202":"SW6300-2",
"192.168.10.203":"SW6300-3",
}
if __name__=="__main__":
print "/" + rack.get(sys.argv[1],"SW6300-1-2")
注:
IP后的交换机名可根据自己需求编写RackAware.py 的权限需要修改,不然后出现权限不够的报错!
chmod 777 RackAware.py
2: 然后scp到其他节点的相同路径的位置保存后用以下代码验证看是否成功
[root@node01 sbin]# python RackAware.py 192.168.10.201
/SW6300-1
[root@node01 sbin]# python RackAware.py 192.168.10.202
/SW6300-2
[root@node01 sbin]# python RackAware.py 192.168.10.203
/SW6300-3
二、编辑core-site.xml配置文件
编辑core-site.xml配置文件,
将脚本配置为topology.script.file.name的值
先进入到
/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
的位置编辑core-site.xml配置文件,将下面的代码添加到文件的末尾并保存
<property>
<name>topology.script.file.name</name>
<value>/home/bigdata/apps/hadoop/etc/hadoop/RackAware.py</value>
</property>
最后进入到
/export/servers/hadoop-2.6.0-cdh5.14.0/sbin
的位置重新启动hadoop的相关节点服务,运行正常后打开浏览器
输入
http://192.168.10.201:8088/cluster/nodes
点击Nodes查看是否修改成功。