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

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

  • 相关阅读:
    论url
    jquery send(data) 对data的处理
    jquery ajax 对异步队列defer与XMLHttprequest.onload的依赖
    requirejs解决异步模块加载方案
    vue 解决display与 transition冲突
    node exports与 module.exports的区别
    node js 模块分类
    写在入职初期
    入职前要学习的一些知识
    论文实验 云平台压力测试及服务器性能测试
  • 原文地址:https://www.cnblogs.com/pigdata/p/10305610.html
Copyright © 2011-2022 走看看