当前位置: 首页 > article >正文

HDFS Disk Balancer 介绍使用

一、介绍

一句话介绍:用于 HDFS DataNode 单节点内多个数据盘数据均衡。
官网介绍如下:

Diskbalancer is a command line tool that distributes data evenly on all disks of a datanode. This tool is different from Balancer which takes care of cluster-wide data balancing. Data can have uneven spread between disks on a node due to several reasons. This can happen due to large amount of writes and deletes or due to a disk replacement. This tool operates against a given datanode and moves blocks from one disk to another. [1]

Diskbalancer 是一个命令行工具,用于在数据节点的所有磁盘上均匀分布数据。这个工具与 Balancer 不同,Balancer 负责整个集群的数据平衡。由于多种原因,数据在节点的磁盘之间可能分布不均匀。这可能是由于大量的写入和删除,或者由于磁盘替换引起的。该工具针对给定的数据节点操作,并将数据块从一个磁盘移动到另一个磁盘。

传送门: HDFS Diskbalancer 官方文档


二、配置

dfs.disk.balancer.enabled = true 默认开启,此功能需要 Hadoop 版本大于等于 3.0。

如需显式配置如下:

hdfs-site.xml 文件中添加:

<property>
   <name>dfs.disk.balancer.enabled</name>
   <value>true</value>
</property>

对于 CDH 配置,可以在 HDFS 服务的高级配置代码段中添加以上内容。


三、使用

使用命令:

hdfs diskbalancer

输出帮助信息:

valid commands are plan | execute | query | cancel | report

3.1 创建平衡计划 - plan

hdfs diskbalancer -plan cdh-01.magic.com \
  -bandwidth 100 \
  -maxerror 5 \
  -thresholdPercentage 5 \
  -out /data/tmp/disk-balance/cdh01

参数介绍:

  • -bandwidth:平衡带宽,单位 MB/s,默认值为 10。
  • -maxerror:错误重试次数,默认值为 5。
  • -thresholdPercentage:平衡阈值,默认值为 10,即磁盘占用率大小相差 ≤ 10% 则认为是平衡的。
  • -out:计划输出路径,注意该路径为 HDFS 路径,且路径需要为空。

执行输出:
命令执行后会提示生成的计划 JSON 文件路径,例如:
/data/tmp/disk-balance/cdh01/cdh-01.magic.com.plan.json


3.2 执行计划 - execute

hdfs diskbalancer -execute /data/tmp/disk-balance/cdh01/cdh-01.magic.com.plan.json

3.3 查看计划状态 - query

hdfs diskbalancer -query cdh-01.magic.com

常见状态:

  • PLAN_UNDER_PROGRESS:计划处理中。
  • PLAN_DONE:计划处理完成。

3.4 取消执行计划 - cancel

hdfs diskbalancer -cancel /data/tmp/disk-balance/cdh01/cdh-01.magic.com.plan.json

3.5 查看执行的报告信息 - report

hdfs diskbalancer -report -node cdh-01.magic.com

其他格式:

hdfs diskbalancer -fs http://namenode.uri -report -node <file://> | [<DataNodeID|IP|Hostname>,...]
hdfs diskbalancer -fs http://namenode.uri -report -top <topnum>

参考资料

[1] HDFS Diskbalancer 官方文档


http://www.kler.cn/a/512703.html

相关文章:

  • C++ ——— 模拟实现 vector 类
  • 代码随想录_字符串
  • Flask简介与安装以及实现一个糕点店的简单流程
  • 脚本工具:PYTHON
  • 大数据,Hadoop,HDFS的简单介绍
  • wps数据分析000002
  • 无人机+无人车+无人船+机器狼:无人装备技术优势详解
  • C# 多线程 安全数据结构
  • 【Java-图片存储方案】
  • RM500U-CN模组
  • Vue2+OpenLayers添加缩放、滑块缩放、拾取坐标、鹰眼、全屏控件(提供Gitee源码)
  • 从密码学原理与应用新方向到移动身份认证与实践
  • 【三国游戏——贪心、排序】
  • 国自然面上项目|基于组合机器学习算法的病理性近视眼底多模态影像资料自动化定量分析研究|基金申请·25-01-18
  • 04、Redis从入门到放弃 之 数据持久化RDB和AOF
  • 相机成像及参数原理入门
  • python转转商超书籍信息爬虫
  • B站评论系统的多级存储架构
  • STM32补充——FLASH
  • Qt之文件系统操作和读写
  • 基于海思soc的智能产品开发(视频的后续开发)
  • 什么宠物最好养?
  • PhyCAGE:符合物理规律的图像到 3D 生成
  • 思维的进化:从链式推理到元链式推理的算法探秘
  • go语言两个协程goroutine交替打印1-100
  • 解决用 rm 报bash: /usr/bin/rm: Argument list too long错