阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深切浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。

云小课|MRS根底操做之设置装备摆设DataNode容量平衡  第1张

摘要:当HDFS集群呈现DataNode节点间磁盘操纵率不服衡时,会招致MaPReduce应用法式无法很好天时用当地计算的优势、数据节点之间无法到达更好的收集带宽利用率等问题。因而办理员需要按期查抄并连结DataNode数据平衡。

本文分享自华为云社区《【云小课】EI第43课 MRS根底操做之设置装备摆设DataNode容量平衡-云社区-华为云》,原文做者:阅识风云

HDFS集群可能呈现DataNode节点间磁盘操纵率不服衡的情况,好比集群中添加新数据节点的场景。若是HDFS呈现数据不服衡的情况,可能招致多种问题,好比MapReduce应用法式无法很好天时用当地计算的优势、数据节点之间无法到达更好的收集带宽利用率或节点磁盘无法操纵等等。所以系统办理员需要按期查抄并连结DataNode数据平衡。

云小课|MRS根底操做之设置装备摆设DataNode容量平衡  第2张

HDFS供给了一个容量平衡法式Balancer。通过运行那个法式,能够使得HDFS集群到达一个平衡的形态,使各DataNode磁盘利用率与HDFS集群磁盘利用率的误差不超越阈值。如下图1和图2别离是Balance前后DataNode的磁盘利用率变革。

图1 施行平衡操做前DataNode的磁盘利用率

云小课|MRS根底操做之设置装备摆设DataNode容量平衡  第3张

图2 施行平衡操做后DataNode的磁盘利用率

云小课|MRS根底操做之设置装备摆设DataNode容量平衡  第4张

平衡操做时间预算受两个因素影响:需要迁徙的总数据量:每个DataNode节点的数据量应大于(均匀利用率-阈值)*均匀数据量,小于(均匀利用率+阈值)*均匀数据量。若现实数据量小于最小值或大于更大值即存在不服衡,系统选择所有DataNode节点中误差最多的数据量做为迁徙的总数据量。Balancer的迁徙是按迭代(iteration)体例串行挨次处置的,每个iteration迁徙数据量不超越10GB,每个iteration从头计算利用率的情况。

因而针对集群情况,能够大要预算每个iteration消耗的时间(能够通过施行Balancer的日记察看到每次iteration的时间),并用总数据量除以10GB预算使命施行时间。

因为按iteration处置,Balancer能够随时启动或者停行。

设置装备摆设DataNode容量平衡

参考MRS快速入门的“创建集群”章节购置一个MRS集群,例如购置MRS 3.1.0版本集群,集群包罗HDFS等组件,该集群已开启Kerberos认证。

已安拆HDFS客户端,可参考MRS用户指南的“安拆客户端”章节,例如客户端安拆目次为“/opt/client”。

1.利用客户端安拆用户登录客户端所在节点。施行号令切换到客户端安拆目次,例如“/opt/client”。

cd /opt/client

2.施行以下号令设置装备摆设情况变量。

source bigdata_env

3.施行以下号令认证hdfs身份。hdfs用户默认密码请参考MRS用户指南中的“用户帐号一览表”章节获取。初次认证需要修改密码。

kinit hdfs

4.施行以下号令,启动Balance使命。

bash /opt/client/HDFS/hadoop/sbin/start-balancer.sh -threshold <threshold of balancer>

<threshold of balancer>:暗示HDFS数据到达平衡形态时DataNode磁盘利用率误差值,各个DataNode节点磁盘的利用率和整体HDFS集群的磁盘空间均匀利用率误差小于此阈值时,系统认为HDFS集群已经到达了平衡的形态并完毕Balance使命。

例如,需要设置误差率为5%,则施行:

bash /opt/client/HDFS/hadoop/sbin/start-balancer.sh -threshold 5

若是需要停行Balance使命,请施行以下号令:

bash /opt/client/HDFS/hadoop/sbin/stop-balancer.sh

5.用户在施行了步调4的脚本后,会在客户端安拆目次“/opt/client/HDFS/hadoop/logs”目次下生成名为hadoop-root-balancer-主机名.out日记。施行以下号令翻开该日记。

vi /opt/client/HDFS/hadoop/logs/hadoop-root-balancer-主机名.out

日记呈现“Balancing took xxx seconds”信息暗示平衡操做已完成。

Time Stamp Iteration# Bytes Already Moved Bytes Left To Move Bytes Being Moved NameNode The cluster is balanced. Exiting... May 25, 2022 5:01:21 PM 0 0 B 0 B 0 B hdfs://hacluster May 25, 2022 5:01:21 PM Balancing took 1.456 seconds ......

能够看到如下字段信息:

Time Stamp:时间戳Bytes Already Moved:已经挪动的字节数Bytes Left To Move:待挪动的字节数Bytes Being Moved:正在挪动的字节数

好了,本期云小课就介绍到那里,快去体验MapReduce(MRS)更多功用吧!猛戳那里

生长地图_MapReduce办事 MRS_华为云生长地图 | 华为云

点击存眷,第一时间领会华为云新颖手艺~

华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云

#华为云开发者联盟#