`

hadoop中的balancer

 
阅读更多

对于HDFS集群,经常长时间的运行,尤其是大量的delete操作后,集群中各个Datanode上的空间使用率可能会存在比较大的差异。
所以需要一种机制使各个Datanode保持平衡,防止少数Datanode存储过多的文件。
少数使用率过高的Datanode会导致对其的数据访问效率变低,并且如果该Datanode挂掉,需要更多的时间进行恢复,对集群也会造成更大的影响。
Hadoop中已经提供了balancer的机制。

hadoop balancer -threshold <threshold>

通过上面的命令可以是Hadoop对各个Datanode进行评估并使他们保持平衡。
参数threshold表示的平衡的阀值,取值范围在0%到100%之间。
该参数表示每个Datanode中空间使用率与HDFS集群总的空间使用率的差距百分比。

假如当前集群总空间为20T,已经空间为10T,那么对于HDFS集群来说空间使用率为50%。
当前集群有2台Datanode,每台有10T总空间。
Datanode 1已用空间为4T,那么Datanode的空间使用率为40%
Datanode 2已用空间为6T,那么Datanode的空间使用率为60%
如果我设置balancer的阀值为10%,那么此时两台Datanode的使用率与HDFS的总使用率的比值均超过阀值,此时需要执行balancer。
如果我设置balancer的阀值为50%,那么此时两台Datanode的使用率与HDFS的总使用率的比值均未超过阀值,此时不需要执行balancer。

阀值设置的越小,那么HDFS各个Datanode的使用率越接近,整个集群也更加的平衡,但会需要消耗更多的时间和资源来达到该平衡状态。
如果阀值设置的过小,那么对于操作非常频繁的HDFS集群,有可能永远也不会达到该阀值所指定的平衡状态。
阀值设置的越大,那么HDFS各个Datanode的使用率差距越大,但是会较容易达到。

在balancer的过程,hadoop会递归的把BLOCK从使用率高的Datanode转移到那些使用率低的Datanode上。
在每次递归的过程中,单个Datanode转移或者接受的BLOCK不过超过10G或者它存储能力的阀值(根据该Datanode的总空间决定)。
并且每次递归过程也不能执行超过20分钟。
在每次递归过后,会更新Datanode的最新状态信息,决定下一次递归的执行。

通过参数dfs.balance.bandwidthPerSec可以现在balancer过程所占用的网络带宽,单位为每秒字节数,默认值为1M。
如果你的集群比较空闲或者带宽比较大,可以适当的增加该参数,来加速整个balancer过程。
如果你的集群比较繁忙或者带宽比较小,就要调小该参数,但这个balancer过程会变得缓慢。
对该参数的参数,只有在HDFS下次启动后才可以生效。

整个balancer过程还是比较复杂的,首先会计算集群总的使用率,然后分别计算各个活着的Datanode结点的使用率。
根据balancer阀值对各个Datanode进行分类,找到那些使用率过高的和使用率过低的结点。
遍历使用率过高的结点,找到适合迁移BLOCK的目标结点,原则就是最好是同一机架,如果当前机架没有适合的才会考虑其他机架。
把BLOCK从使用率高的结点拷贝到使用率低的结点,完成一次递归过程后重新计算使用率,判断使用需要进行下一次过程。
整个递归过程,最多会执行5次。

 

转自:http://www.itpub.net/thread-1502029-1-1.html

分享到:
评论

相关推荐

    hadoop和hive调优个人总结

    Hadoop和Hive调优是当前大数据处理中非常重要的一部分,如何提高Hadoop和Hive的性能,将直接影响到整个数据处理的效率和质量。本文将总结个人在学习和测试Hive过程中的调优经验,包括Datanode的热插拔、启动自动...

    hadoop集群维护手册.pdf

    在使用 start-balancer.sh 命令时,如果在 hdfs-site.xml 文件中没有配置 dfs.balance.bandwidthPerSec 参数,那么集群将使用默认的 1M/S 速度来平衡数据。 四、Hadoop 版本升级 Hadoop 版本升级需要注意以下几点...

    hadoop—集群维护手册分享.pdf

    2. 在 Hadoop Namenode 的配置文件中添加新节点的 host。 3. 执行 bin/start-all.sh 启动集群。 4. 选择一种平衡方式: * 如果不手动平衡,插入的数据将会放在新添加的节点上,以趋于平衡。 * 如果手动平衡,则...

    Hadoop公平调度器指南.pdf

    **公平调度器**(Fair Scheduler)是Hadoop中的一种插件式Map/Reduce调度器,它为大规模集群提供了一种有效的资源共享机制。其核心目标是确保随着时间的推移,所有作业都能平均分配到等量的共享资源。 #### 二、...

    Hadoop技术介绍与发展.pptx

    2004 年,Doug Cutting 和 Mike Cafarella 从 Nutch 项目中分离出 Hadoop 项目,并于 2006 年发布了 Hadoop 0.1.0 版本。2008 年,Hadoop 0.20.0 版本发布,引入了 YARN(Yet Another Resource Negotiator)组件。...

    hadoop—集群维护手册.doc

    在Hadoop集群的管理与维护中,有几点关键操作需要了解。首先,启动和停止Hadoop集群的常用命令是`start-all.sh`和`stop-all.sh`,分别用于启动和停止所有的服务,包括Namenode、Datanode、JobTracker和TaskTracker等...

    hadoop命令指南

    ### Hadoop命令指南详解 #### 一、概述 在深入探讨Hadoop命令的具体用法之前,我们先来了解一下Hadoop的基本...以上是Hadoop命令指南中详细介绍的部分命令及其用法。希望这些信息能够帮助您更好地理解和使用Hadoop。

    RebalanceDesign6

    ### Hadoop HDFS 集群 Balance 原理详解 #### 一、引言与目标 在Hadoop分布式文件系统(HDFS)中,数据块的均匀分布对于集群性能至关重要。随着节点的加入或退出,集群可能会出现数据分布不均的情况,导致计算任务...

    基于HadoopHBase的一淘搜索离线系统PPT课件.pptx

    Hadoop的MapReduce机制可以处理并行计算任务,将大问题分解成小任务在集群中执行,从而有效处理海量数据。 4. **一淘全网商品离线处理系统**: 这部分系统负责处理全网的商品数据,包括数据的抓取、清洗、转化和...

    【小工具】hdfs balance脚本(均衡操作)

    【HDFS 数据均衡】在Hadoop分布式文件系统(HDFS)中,数据均衡是指确保所有DataNode节点上的存储利用率相对平均的过程。当集群添加了新的节点或者某些节点的数据分布不均时,为了优化性能和可靠性,需要进行数据的...

    java大数据作业_2HDFS

    以上内容涵盖了HDFS的健康检查、数据平衡、文件管理、心跳机制、路径过滤以及Har文件的读取,这些都是Hadoop集群管理和开发中的关键知识点。理解和掌握这些内容对于进行高效的大数据处理至关重要。

    kettle集群配置需要

    3. **LOAD_BALANCE参数**:设置为"yes"表示Kettle在执行查询时会自动选择负载较低的节点,从而实现负载均衡。 4. **CONNECT_DATA部分**:这部分定义了服务器类型(DEDICATED)和服务名称(qbpt)。服务名称是RAC...

    Zookeeper环境搭建

    **Zookeeper**作为Hadoop生态系统中的一个重要组成部分,主要负责管理和协调分布式应用程序中的各种组件和服务。它的核心功能在于提供一种简单的方式来实现分布式系统的协调服务。通过Zookeeper,开发人员能够更方便...

    大数据资料

    "手动balance.docx"可能是一个关于如何手动平衡HBase集群的指导文档,这对于在集群扩展或调整时保持数据分布均匀至关重要。 "major_compact.sh"是一个执行HBase主合并操作的脚本,主合并是HBase中清理和压缩数据...

    2017最新大数据架构师精英课程

    151_sinkgroup的处理器-loadbalance- ^6 B0 j4 Z5 f9 d 152_sinkgroup的处理器-failover) y- ^1 Y. ~5 s9 G8 S! ^! a5 o 153_kafka集群安装与启动4 ^; K& j3 @6 p0 M 154_kafka创建主题以及查看主题结构 155_考察zk...

    数据工程师培训题库 优质文档.docx

    选项B正确,HDFS可以通过balance操作平衡磁盘负载。选项C错误,DataNode之间通常建议数据盘一致以保持平衡。选项D正确,Active和Standby NameNode部署在不同机架上是为了提高高可用性。 2. **HDFS高可靠协调服务**:...

    [Carlos_M._Coronel]_Database_Systems__Design,_Impl.pdf

    Clear, straightforward writing supports an outstanding balance of theory and practice with hands-on skills today's employers want. Revised SQL coverage offers more SQL examples and simpler ...

    林昊 HBase简介与实践分享 .pptx

    - **与Hadoop的集成**:HBase与Hadoop生态系统紧密结合,可以在Hadoop上分析HBase中的数据或将分析结果直接写入HBase。 #### 在线应用案例 - **Facebook**:消息系统和实时大数据分析。 - **Trend Micro**、**Adobe...

    HBase 应用平台 balancer 功能

    例如,使用`hbase hbck -balance`命令可以强制执行一次负载均衡。同时,管理员也可以通过HBase的Web UI或JMX接口来监控和控制balancer的状态。 总之,HBase的`balancer`功能是保证集群高效运行的关键组件。它通过...

    HBase在淘宝主搜索的Dump中的性能调优

    在淘宝主搜索系统中,采用的是Hadoop CDH3U4和HBase 0.92.11版本,同时利用LZO进行数据压缩。选择LZO的主要原因是其提供更高效的数据压缩率,对于降低存储空间需求和提高读写效率有显著作用。然而,在优化过程中,需...

Global site tag (gtag.js) - Google Analytics