天天看点

hadoop机架感知配置——HDFS前言一、编写Python脚本“RackAware.py”二、编辑core-site.xml配置文件

编辑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”
  • 二、编辑core-site.xml配置文件

前言

机架感知需要人为进行配置,编写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到其他节点的相同路径的位置保存后用以下代码验证看是否成功

[[email protected] sbin]# python RackAware.py 192.168.10.201
/SW6300-1 
[[email protected] sbin]# python RackAware.py 192.168.10.202
/SW6300-2
[[email protected] 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查看是否修改成功。

hadoop机架感知配置——HDFS前言一、编写Python脚本“RackAware.py”二、编辑core-site.xml配置文件

继续阅读