hadoop机架感知配置——HDFS

    科技2025-12-21  13

    编辑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到其他节点的相同路径的位置保存后用以下代码验证看是否成功

    [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查看是否修改成功。


    Processed: 0.020, SQL: 9