• CDH Disk Balancer 磁盘数据均衡


    前提:
    CDH5.16.2

    由于数据量过多,磁盘大小太小,导致磁盘使用率高达90%以上,于是新增磁盘,可问题来了,如何将这两块磁盘上的数据进行均衡呢?
    本次基于CDH来做

    1.设置dfs.disk.balancer.enabled 为true

    2.生成平衡计划(cbp9.chinaoly.com为主机名)

    hdfs diskbalancer -plan cbp9.chinaoly.com(需要均衡的机器) 会生成一个*.plan.json的文件

    3.执行平衡计划

    hdfs diskbalancer -execute /system/diskbalancer/2021-Feb-2-20-11-14/cbp9.chinaoly.com.plan.json

    4.查看执行状态

    hdfs diskbalancer -query cbp9.chinaoly.com


    DONE的时候表示已经执行完毕

    备注:
    此过程由于数据量相对比较大,磁盘IO、网络IO占用都会比较高,虽然有参数可以配置,如dfs.datanode.balance.bandwidthPerSec,但仍然建议在集群负载不高时进行,特别是生产集群。另外执行时间的长度取决于:数据量、网络IO、磁盘IO及新写入的数据量大小
    可同时配置dfs.datanode.fsdataset.volume.choosing.policy(磁盘的选择策略)

    Execute阶段:
    
    所有执行计划生成以后,就到了执行阶段。这些计划会被提交到各自DataNode上,然后在DiskBalancer类中执行。然后DiskBalancer有专门的类DiskBalancerMover来做数据平衡工作。在磁盘间数据平衡的过程中,高使用率的磁盘会移动数据块到相对低使用率的磁盘,等到满足一定阈值关系的情况下时,DiskBalancer会渐渐地退出.在DiskBalancer的执行阶段,有以下几点需要注意:
    
     
    
    带宽限制:DiskBalancer也可以支持带宽限制。默认是10M,可以通
    
    过配置项dfs.disk.balancer.max.disk.throughputInMBperSec进行控制
    
    失败次数限制:DiskBalancer中会存在失败次数的控制.在拷贝block数据块的时候,出现IOException异常,会进行失败次数的累加计数,如果超出最大容忍值,DiskBalancer也会退出.
    
    数据平衡阀值控制:DiskBalancer中可以提供一个磁盘间数据的平衡阈值,以此作为是否需要继续平衡数据的标准,配置项为dfs.disk.balancer.block.tolerance.percent.
    ########## 今天的苦逼是为了不这样一直苦逼下去!##########
  • 相关阅读:
    VS2005中的WebApplication和WebSite
    CodeFile 与 CodeBehind 的区别
    vs2005默认浏览器(IE)灵异事件
    杭电OJ第4252题 A Famous City
    湘大OJ第1490题 Generating Random Numbers
    中南OJ 2012年8月月赛 B题 Barricade
    中南OJ 2012年8月月赛 H题 Happy watering
    杭电OJ第4245题 A Famous Music Composer
    中南OJ 2012年8月月赛 I题 Imagination
    杭电OJ第4256题 The Famous Clock
  • 原文地址:https://www.cnblogs.com/ruii/p/14420304.html
Copyright © 2020-2023  润新知