• 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

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

  • 相关阅读:
    构建之法阅读笔记07
    7-第一阶段SCRUM冲刺
    第一阶段个人冲刺博客第十天
    第一阶段个人冲刺博客第九天
    第九周学习进度博客
    java项目(学习和研究)
    让计算机干活
    os基础
    树和图的一些算法
    java代码理解
  • 原文地址:https://www.cnblogs.com/pigdata/p/10305610.html
Copyright © 2020-2023  润新知