当HDFS的DataNode节点挂载多个磁盘时,往往会出现两种数据不均衡的情况:

1.不同DataNode节点间数据不均衡;

2.挂载数据盘的磁盘间数据不均衡。

特别是这种情况:当DataNode原来是挂载了几个数据盘,当磁盘占用率很高之后,再挂载新的数据盘。由于Hadoop 2.x 版本并不支持HDFS的磁盘间数据均衡,因此,会造成老数据磁盘占用率很高,新挂载的数据盘几乎很空。在这种情况下,挂载新的数据盘就失去了扩容HDFS数据盘的意义。

如果想要解决节点内多块磁盘数据不均衡的现象,就要借助DiskBalancer。Hadoop3,默认就支持磁盘间数据均衡,本文档主要介绍在CDP中如何进行HDFS磁盘扩容并在节点内进行Balancer。

1.登陆CM界面,进入HDFS点击配置,搜索“hdfs-site.xml”添加以下内容后并重启HDFS服务

dfs.disk.balancer.enabled=true

2.使用系统的hdfs.keytab进行认证,一般在/var/run/cloudera-scm-agent/process/1952-hdfs-JOURNALNODE  目录下等,或者自己生成 ,首选CDH系统自动生成的keytab,自己生成的不一定能用

kinit -kt hdfs.keytab hdfs/c1.liuhao.com
klist

3.典型的磁盘平衡器任务涉及三个步骤(通过HDFS的diskbalancer 命令):plan, execute 和 query。第一步,HDFS客户端从NameNode上读取指定DataNode的的必要信息以生成执行计划:

磁盘平衡执行计划生成的文件内容格式是Json的,并且存储在HDFS之上。在默认情况下,这些文件是存储在 /system/diskbalancer 目录下面。

hdfs diskbalancer -query c1.liuhao.com

4.可以通过下面的命令在DataNode上执行这个生成的计划:

hdfs diskbalancer -execute /system/diskbalancer/2021-Oct-20-21-42-55/c1.liuhao.com.plan.json

5.以上命令将JSON里面的计划提交给DataNode,而DataNode会启动一个名为BlockMover的线程中执行这个计划。我们可以使用 query 命令来查询DataNode上diskbalancer任务的状态:

hdfs diskbalancer -query c1.liuhao.com

这个意思是计划正在执行

上面结果输出的PLAN_DONE表示disk-balancing task已经执行完成。为了验证磁盘平衡器的有效性,我们可以使用df -h 命令来查看各个磁盘的空间使用率:

6.如果集群节点磁盘不均衡,可以在CM界面打开进行均衡

如何对HDFS进行节点内(磁盘间)数据平衡相关推荐

  1. HDFS组件性能调优:数据平衡

    生产系统中什么情况下会添加一个节点呢? 1 增加存储能力 disk 2 增加计算能力 cpu mem 如果增加是的是存储能力,说明存储已接近饱和或者说过段时间就会没有剩余的空间给作业来用.新加的节点存 ...

  2. HDFS某个节点的磁盘满了

    前言 昨天还是周末,公司群里就有人@,说集群有问题了,敲完Hive一直卡在那里进不去,于是我很快登上WebUi,看到了这么一幕: 这台节点的磁盘满了,其他的数据分布都比较平均 为什么会这样 这里就不得 ...

  3. HDFS节点内数据平衡

    Hadoop集群使用久了,我们会发现一个问题,各个DataNode数据不平衡了,多的达到70-80%,少的达到10-20%.面对这种场景,我们一般使用HDFS自带的Blancer工具对其数据进行平衡. ...

  4. 大数据Hadoop之——Hadoop HDFS多目录磁盘扩展与数据平衡实战操作

    文章目录 一.概述 二.Hadoop DataNode多目录磁盘配置 1)配置hdfs-site.xml 2)配置详解 1. dfs.datanode.data.dir 2.dfs.datanode. ...

  5. HDFS数据平衡:节点间平衡与节点内平衡

    HDFS数据平衡:节点间平衡与节点内平衡 HDFS容易发生数据不平衡的问题. 这其中包括各个DataNode之间存储的数据量差异,以及一个DataNode内部各磁盘之间存储的数据量差异. HDFS专门 ...

  6. Hadoop集群HDFS各节点磁盘使用率不平衡,使用balancer做数据平衡

    HDFS上各节点磁盘大小不一致,新增节点 数据平衡前,是非常不均衡的,某些节点已经接近90了 集群的数据平衡已经迫在眉睫,必须要搞一搞了. 1.设置传输速率 我这里是万兆网卡,就先设置100M了 在两 ...

  7. HDFS慢节点监控及处理

    HDFS集群随着使用时间的增长,难免会出现一些"性能退化"的节点,主要表现为磁盘读写变慢.网络传输变慢,我们统称这些节点为慢节点.当集群扩大到一定规模,比如上千个节点的集群,慢节点 ...

  8. 阿里开源数据同步神器DataX异构数据源间数据同步同步MySQL与HDFS相互实战

    Datax 实战使用 继上一篇 阿里开源数据同步神器DataX异构数据源间数据同步基础介绍与快速入门之后的实战篇 1.MySQL-To-HDFS 环境 & 准备说明: 描述: 为了快速搭建测试 ...

  9. 解决方案:外域HDFS客户端访问内网HDFS datanode

    外域HDFS客户端访问内网HDFS datanode 客户端机器报错 外域机器通信需要用外网ip,未配置hostname访问会访问异常,namenode return hosts to hadoop ...

最新文章

  1. 一起谈.NET技术,一句代码实现批量数据绑定[下篇]
  2. reStructuredText(.rst)语法规则快速入门
  3. 综述 | 卷积神经网络:从基础技术到研究前景
  4. Java:Swing篇,实现JList、JTextArea的自动滚动,实时刷新功能
  5. Macaron的注入struct
  6. Junit4中的新断言assertThat的使用方法
  7. JAVA实现微信公众号推送消息
  8. 【OpenCV】“帧差法”实现移动物体的检测(车辆识别)
  9. 物联网智能空气环境监测系统解决方案
  10. python输入半径计算球的体积公式_编写程序:根据输入的球的半径,分别计算球的表面积、体积输出计算结果。...
  11. Selenium元素定位神器工具谷歌浏览器插件-ChroPath介绍,安装与使用
  12. c语言求100以内偶数和while,c语言 求1到100以内的偶数之和
  13. 从员工到总经理的成长笔记:自慢(6)
  14. 【工业互联网】工业互联网
  15. 【C++】什么情况下会产生临时变量
  16. Windows相关文件、文件夹脚本操作
  17. 莫顿码(Morton code)介绍
  18. 江苏二本大学计算机专业排名6,2021江苏二本大学排名及分数线表
  19. 永中科技破产清算的疑问(二)
  20. c语言题库p797,高三C语言第二次月考试题

热门文章

  1. c语言带小数的求和,C/C++知识点之C++实现string类型的大数相加(带小数)
  2. 评价算法的优劣标准有什么?
  3. 正反手扑球动作要领及常见问题[技术进阶]
  4. 小巧的截屏软件Greenshot
  5. 用CMA热带气旋最佳路径数据集计算南海台风PDI指数
  6. PCB信号完整性分析--干货!(电子工程专辑微信公众号)
  7. Java矩阵库Jama
  8. [狂顶]国内免费图片外链网站
  9. CSAPP 并发编程 ——深入理解计算机系统
  10. stm32写字机器人资料包含程序,原理图