zoukankan      html  css  js  c++  java
  • Hadoop机架感知

    目的:增加性能
    原因:同机架io快。可以两个块部署统一机架的不同机器。

    前提是集群搭建开启成功


    1.查看机架感知:
    hdfs  dfsadmin  -printTopology

    2. 增加机架感知(一下都是在master(NameNode)上操作)

    a.修改core-site.xml,将下面内容添加进去

    <property>
    <name>topology.script.file.name</name>
    <value>/develop/hadoop/hadoop-2.7.5/etc/hadoop/rackaware/rackaware.sh</value>
    </property>
    /develop/hadoop/hadoop-2.7.5/etc/hadoop/rackaware/rackaware.sh:表示编写脚本的地址

    b.编写脚本--rackaware.sh

    ---注意修改脚本权限

    chmod a+x filename

    #!bin/sh
    while [ $# -gt 0 ] ; do
            nodeArg=$1
      exec< /develop/hadoop/hadoop-2.7.5/etc/hadoop/rackaware/topology.data
      result=""
      while read line ; do
        ar=( $line )
        if [ "${ar[0]}" = "$nodeArg" ] ; then
          result="${ar[1]}"
        fi
      done
      shift
      if [ -z "$result" ] ; then
        echo -n "/default/rack "
      else
        echo -n "$result "
      fi
    done

    /develop/hadoop/hadoop-2.7.5/etc/hadoop/rackaware/topology.data脚本中的这个表示填写的topology.data文件的地址

    ------解读rackaware.sh脚本文件
    将输入的参数跟topology.data(类似于map)中的IP(key)比较看看有没有与之对应的机架名(value)
    如果有将输出机架名,如果没有与之对应的则是/default/rack

    c.编写配置文件--topology.data

    192.168.28.10 /dc1/rack1
    192.168.228.11 /dc1/rack2
    192.168.228.12 /dc1/rack2
    前面表示集群中的ip 后面表示IP所对应的机架名(这之间有空格)


    测试脚本:./rackaware ip(192.168.228.10)

    最终测试:

    hdfs  dfsadmin  -printTopology

    --那么恭喜你机架感知添加成功

  • 相关阅读:
    VintaSoft Barcode.NET SDK专业的条形码读写控件详细介绍
    数据库查询构建控件集Active Query Builder
    linux系统下集成开发工具选择
    linux常用命令
    ubuntu 10.10绚丽桌面效果及常用快捷键
    Restful服务1
    EasyJF简易的j2EE框架
    erlang学习1
    netbeans下 xdebug调试php
    介绍几个开源的网站
  • 原文地址:https://www.cnblogs.com/pigdata/p/10305610.html
Copyright © 2011-2022 走看看