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

摘要:当HDFS集群出现DataNode节点间磁盘利用率不平衡时,会导致MapReduce应用程序无法很好地利用本地计算的优势、数据节点之间无法达到更好的网络带宽使用率等问题。因此管理员需要定期检查并保持DataNode数据平衡。

本文分享自华为云社区《【云小课】EI第43课 MRS基础操作之配置DataNode容量均衡》,原文作者:阅识风云

HDFS集群可能出现DataNode节点间磁盘利用率不平衡的情况,比如集群中添加新数据节点的场景。如果HDFS出现数据不平衡的状况,可能导致多种问题,比如MapReduce应用程序无法很好地利用本地计算的优势、数据节点之间无法达到更好的网络带宽使用率或节点磁盘无法利用等等。所以系统管理员需要定期检查并保持DataNode数据平衡。

HDFS提供了一个容量均衡程序Balancer。通过运行这个程序,可以使得HDFS集群达到一个平衡的状态,使各DataNode磁盘使用率与HDFS集群磁盘使用率的偏差不超过阈值。如下图1和图2分别是Balance前后DataNode的磁盘使用率变化。

图1 执行均衡操作前DataNode的磁盘使用率

图2 执行均衡操作后DataNode的磁盘使用率

均衡操作时间估算受两个因素影响:

  1. 需要迁移的总数据量:
    每个DataNode节点的数据量应大于(平均使用率-阈值)*平均数据量,小于(平均使用率+阈值)*平均数据量。若实际数据量小于最小值或大于最大值即存在不平衡,系统选择所有DataNode节点中偏差最多的数据量作为迁移的总数据量。
  2. 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)更多功能吧!猛戳这里

点击关注,第一时间了解华为云新鲜技术~

云小课|MRS基础操作之配置DataNode容量均衡的更多相关文章

  1. 云小课|MRS基础原理之MapReduce介绍

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:MapReduce ...

  2. 云小课|DGC数据开发之基础入门篇

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:欢迎来到DGC数据 ...

  3. 云小课|MRS数据分析-通过Spark Streaming作业消费Kafka数据

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:Spark Str ...

  4. 云小课|云小课教您如何选择Redis实例类型

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:购买Redis实例 ...

  5. 云小课 | 搬迁本地数据至OBS,多种方式任你选

    摘要:搬迁本地数据至OBS,包括OBS工具方式.CDM方式.DES磁盘方式.DES Teleport方式和云专线方式,每种方式特点不同,本节课我们就一起看看有什么区别. 已有的业务数据可能保存在本地的 ...

  6. 云小课|带你揭开IP地址的神秘身份

    摘要:本文带你了解网络云产品和相关的知识内容. 华为云网络服务大家族提供了丰富的云产品,可以满足用户的各种网络互联需求.相应地,华为云帮助中心也贴心的奉上了你想了解的所有网络云产品知识. 可是小课最近 ...

  7. 云小课 | IPv4枯了,IPv6来了

    摘要:本篇主要分享IPv4与IPv6的区别和IPv6的应用场景,助您快速理解华为云IPv6双栈及IPv6 EIP. IPv6的由来 上节课我们讲了公网IP与私网IP,了解了IP地址的一些知识. 我们一 ...

  8. OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 1.操作系统环境配置

    1.OpenStack示例的架构介绍 1.1 各节点介绍 (1)控制节点(controller)控制节点(controller)上运行身份服务,镜像服务,计算节点管理,网络管理,各种网络代理和仪表板. ...

  9. 云小课 | WAF反爬虫“三板斧”:轻松应对网站恶意爬虫

    描述:反爬虫是一个复杂的过程,针对爬虫常见的行为特征,WAF反爬虫三板斧——Robot检测(识别User-Agent).网站反爬虫(检查浏览器合法性)和CC攻击防护(限制访问频率)可以全方位帮您解决业 ...

  10. 云小课 | 需求任务还未分解,该咋整!项目管理Scrum项目工作分解的心酸谁能知?

    温馨提醒:本文约3000字,需要阅读5分钟,共分为8个部分,建议分段阅读! 软件开发过程中,从产品概念形成到产品规划.往往要做详细的需求分析和项目规划等,因此,选对一款项目管理工具对开发者就显得尤为重 ...

随机推荐

  1. [ARC143B] Counting Grids 题解

    Counting Grids 题目大意 将 \(1\sim n^2\) 填入 \(n\times n\) 的网格 \(A\) 中,对于每个格子满足以下条件之一: 该列中存在大于它的数. 该行中存在小于 ...

  2. 『STAOI』G - Round 1 半个游记

    很刺激. 挂个链接

  3. gcd|最大公约数|欧几里得算法|欧几里得算法证明 一文说明白

    gcd 最大公因数,也称最大公约数.最大公因子,指两个或多个整数共有约数中最大的一个.a,b的最大公约数记为 $ gcd(a,b) $ ,同样的,a,b,c的最大公约数记为 $ gcd(a,b,c) ...

  4. Java 中 field 和 variable 区别及相关术语解释(转)

    https://www.jianshu.com/p/08e2d85d3ce9 这是一个以前从没仔细想过的问题--最近在阅读Java Puzzlers,发现其大量使用了"域"这个词, ...

  5. source insight 中添加指定类型文件

    以下为source insight 3.X版本的设置方法: source insight 中过滤某些格式的文件. 建立source insight工程后,先暂时不要急于添加文件. 打开options- ...

  6. Ansible自动化部署工具-role模式安装filebeat实际案例分析

    大家好,我是蓝胖子,前面一节我简单的讲了讲Ansible的架构和编排任务的语法,可以发现,通过playbook方式编排任务时,能够将任务文档化,但是在面对比较复杂且不同业务的任务编排时,维护playb ...

  7. java把数据批量插入iotdb

    package com.xlkh.kafka; import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson ...

  8. IDEA:自动生成方法注释并添加 @param 参数(Java+Kotlin)

    在用 Java 或 Kotlin 编写方法时建议编写完善的注释,包含每个参数的意义和返回的内容,下面介绍在 IDEA 中自动生成方法注释的技巧. 第二张图按照图片填写就好了 ③(注意是*不是/*) * ...

  9. .NET8极致性能优化CHRL

    前言 .NET8在.NET7的基础上进行了进一步的优化,比如CHRL(全称:CORINFO_HELP_RNGCHKFAIL)优化技术,CORINFO_HELP_RNGCHKFAIL是边界检查,在.NE ...

  10. 使用Slurm集群进行分布式图计算:对Github网络影响力的系统分析

    本文分享自华为云社区<基于Slurm集群的分布式图计算应用实践:Github协作网络影响力分析>,作者:yd_263841138 . 1. 引言 Slurm(Simple Linux Ut ...