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

news2025/1/21 1:05:03

当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界面打开进行均衡

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/434561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

7.1 参数的点估计

小结: 点估计是一种统计推断方法,它用于通过样本数据估计总体参数的值。在统计学中,总体是指一个包含所有个体的集合,而样本是从总体中选出的一部分个体。总体参数是总体的某种特征,如平均值、标准差、比例等。 点估…

全志V851s、V853内g2d模块sample深究

1. g2d 模块概述 g2d 主要功能: 1)旋转:支持90、180、270旋转; 2)镜像反转:H / V; 3) scale:放缩 4)格式转换:yuv 转 rgb 等,多种格式相互间转换&#xff1b…

python学习——缺失值、重复值处理、排序及替换

文章目录 1 缺失值处理1.1 查看缺失值 df.isnull()1.2 统计缺失值 df.isnull().sum()1.3 删除缺失值 df.drop()1.4 填充缺失值 df.fillna()1.4.1 固定值填充 df.fillna(value)1.4.2 线性插值填充 df.fillna(df.interpolate()) 2 重复值处理2.1 查看重复值 df.duplicated()2.2 筛…

最佳实践:Android应用中的网络请求和数据缓存

最佳实践:Android应用中的网络请求和数据缓存 网络请求在Android应用中的重要性 在现代移动应用中,网络请求扮演着重要的角色,涉及到数据的获取、上传、更新等功能。网络请求在Android应用中具有关键地位,对于提供优秀的用户体验和…

如何使用山海鲸可视化绘制堆叠双轴图?

简介 堆叠双轴图是一种数据可视化图表类型,它结合了堆叠柱状图和双轴图的特点,将两个或更多个数据系列以不同的颜色或图案堆叠在一起,同时使用两个垂直轴来表示不同的数据范围,以显示它们之间的关系和趋势。其中一个轴通常代表数…

一个实例讲解如何使用BP神经网络(附代码)

本站原创文章,转载请说明来自《老饼讲解-BP神经网络》bp.bbbdata.com BP神经网络是一个广泛应用的模型, 本文以一个实例作为主线,面向初学者讲解如何构建和使用一个BP神经网络 帮助没接触进BP神经网络的初学者,快速上手BP神经网络…

传统机器学习(四)聚类算法DBSCAN

传统机器学习(四)聚类算法DBSCAN 1.1 算法概述 DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种基于密度的空间聚类算法。 该算法将具有足够密度的区域划分为簇,并在…

【C++学习】类和对象--对象特性(2)

静态成员 静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员。 静态成员变量: 所有对象共享同一份数据 在编译阶段分配内存 类内声明,类外初始化 静态成员函数: 所有对象共享同一个函数 静态成员函数只能访问静态…

MyBatis小技巧

一、MyBatis中接口代理机制及使用 我们不难发现,以前编写dao/mapper实现类中的方法代码很固定,基本上就是一行代码,通过SqlSession对象调用insert、delete、update、select等方法,这个类中的方法没有任何业务逻辑,既然…

【Cadence】 ADS Dynamic Link使用教程

ADS Dynamic Link使用教程 1.新建一个Cadence Schematic2.打开ADS3.在ADS新建Schematic4.加入控件OPTIONS5.加入Netlist6.仿真测试7.写在最后 1.新建一个Cadence Schematic 随便搭了一个Cascode 注意这个时候不要新建symbol 2.打开ADS 3.在ADS新建Schematic 选择对应的Cade…

BI技巧丨计算组环形图

当我们使用Power BI时,会发现其内置了许多可视化组件,这些组件可以帮我们快速地创建各种类型的报表和仪表板,这是非常方便的。但是,我们也会发现,有些组件的细节功能并不是很完善,这就导致了我们在平常使用…

解决 mapper.xml 文件的 resultType 爆红问题:Cannot resolve symbol ‘xxx‘

解决mapper.xml文件的resultType爆红问题:Cannot resolve symbol xxx 1.问题描述2.问题分析3.问题解决3.1 配置注解(推荐)3.2 配置全类名3.3 删除插件 4.事件感悟 系统:Win10 JDK:1.8.0_333 IDEA:2022.2.4 …

【C++】Qt环境下的五子棋小程序

实现要求 这个程序是一个基于Qt的五子棋游戏,实现了人机对战和双人对战两种游戏模式,提供了基本的棋谱记录和游戏音效功能。程序采用了MVC模式,将数据与界面分离,实现了代码的模块化和可扩展性。主要构建包括三个文件&#xff0c…

Java - 数据结构,哈希表

一、概念 顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素时,必须要经过关键码的多次比较。顺序查找时间复杂度为O(N),平衡树中为树的高度,即O( ),搜索的效率取决于搜…

Ambari【部署 01】最新版本ambari-2.7.7下载编译打包安装使用(踩坑实录)

Ambari 官网 本次安装的为当前最新版本 2.7.7 文档 。 1.环境及准备 1.1 环境 # 系统 [roottcloud ~]# cat /etc/centos-release CentOS Linux release 7.9.2009 (Core) # JDK [roottcloud ~]# java -version java version "1.8.0_241" Java(TM) SE Runtime Envir…

java模板/策略模式打怪兽

模板&策略模式 实现姿势 我们会从简单到复杂,讲解代码正确的实现姿势,分别为最 Low 方式、常规方式、模板模式和策略模式。 最 Low 方式 假如现在有 3 个奥特曼,都喜欢 “训练,飞翔,打怪兽” public class OldTig…

jsp+java自行车租赁租借和买卖系统

自行车租借和买卖系统 系统包括四个模块。1,系统模块,2,车辆管理模块,3.租借车管理模块,4,买卖车管理模块。 1,系统模块包括: 连接数据库,工作人员登录,退出。 2&#…

《类和对象》(中篇)

本文主要介绍类里面的六大默认成员函数 文章目录 前言类的6个默认成员函数1、构造函数1.1 概念1.2 特性 2、析构函数2.1 概念2.2 特性 3 、拷贝构造函数3.1 概念3.2 特性3.3 使用场景 4、运算符重载4.1 规则4.2 赋值运算符重载 5、const 成员6、取地址与const取地址操作符重载总…

Shiro安全框架简介

一、权限管理 1.1 什么是权限管理 基本上只要涉及到用户参数的系统都要进行权限管理,使用权限管理实现了对用户访问系统的控制,不同的用户访问不同的资源。按照安全规则或者安全策略控制用户访问资源,而且只能访问被授权的资源 权限管理包括认…

学成在线笔记+踩坑(1)——项目思路、架构、父工程和基础工程,Gogs使用

【黑马Java笔记踩坑汇总】JavaSEJavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线牛客面试题 目录 简历-技术架构 项目预览 后台页面 课程管理 媒资管理页面上传视频 新增课程 课程管理页提交审核 审核员审核后发布课程 前台页面 主页 验证码登录…