hadoop集群启动机架感知

      hadoop集群的机架感知功能是提高hadoop集群网络性能的重要参数,配置hadoop机架感知功能的步骤如下:

      1)修改core-site.xml文件,添加以下配置项:

  <property>
    <name>topology.script.file.name</name>
    <value>/opt/modules/hadoop/hadoop-0.20.203.0/Utility/RackAware.py</value>
  </property>

    2)编写 RackAware.py 脚本:

#!/usr/bin/python
#-*-coding:UTF-8 -*-
import sys

rack = {"hadoopnode-176.tj":"rack1",
        "hadoopnode-178.tj":"rack1",
        "hadoopnode-179.tj":"rack1",
        "hadoopnode-180.tj":"rack1",
        "hadoopnode-186.tj":"rack2",
        "hadoopnode-187.tj":"rack2",
        "hadoopnode-188.tj":"rack2",
        "hadoopnode-190.tj":"rack2",
        "192.168.1.15":"rack1",
        "192.168.1.17":"rack1",
        "192.168.1.18":"rack1",
        "192.168.1.19":"rack1",
        "192.168.1.25":"rack2",
        "192.168.1.26":"rack2",
        "192.168.1.27":"rack2",
        "192.168.1.29":"rack2",
        }


if __name__=="__main__":
    print "/" + rack.get(sys.argv[1],"rack0")
        由于没有找到确切的文档说明 到底是主机名还是ip地址会被传入到脚本,所以在脚本中最好兼容主机名和ip地址,如果机房架构比较复杂的话,脚本可以返回如:/dc1/rack1 类似的字符串。

       3)执行命令:chmod +x RackAware.py

       4)重启namenode

            如果配置成功,namenode启动日志中会输出:

2011-12-21 14:28:44,495 INFO org.apache.hadoop.net.NetworkTopology: Adding a new node: /rack1/192.168.1.15:50010
       更为详尽的原理及测试请参考:

hadoop集群网络性能优化:hadoop机架感知实现及配置




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值