磁盘均衡器:HDFS Disk Balancer

news2024/11/17 0:07:05

HDFS Disk Balancer

  • 背景
    • 产生的问题以及解决方法
  • hdfs disk balancer简介
  • HDFS Disk Balancer功能
    • 数据传播报告
  • HDFS Disk Balancer开启
    • 相关命令

背景

  • 相比较于个人PC,服务器一般可以通过挂载多块磁盘来扩大单机的存储能力
  • 在Hadoop HDFS中,DataNode负责最终数据block的存储,在所在机器上的磁盘之间分配数据块。当写入新block时,DataNodes将根据选择策略(循环策略或可用空间策略)来选择block的磁盘(卷)
  • 循环策略:它将新的block均匀分布在可用磁盘上
  • 可用空间策略:此策略将数据写入具有更多可用空间(按百分比)的磁盘
    在这里插入图片描述

产生的问题以及解决方法

  • 在长期运行的集群中采用循环策略的时,DataNode有时会不均匀的填充其存储目录(磁盘/卷),从而导致某些磁盘已满而其他磁盘却很少使用的情况。发生这种情况的原因可能是由于大量的写入和删除操作,也可能是由于更换了磁盘。
  • 另外,如果我们使用基于可用空间选择策略,则每个新写入将进入新添加的空磁盘,从而使该期间的其他磁盘处于空闲状态,这将在新磁盘上创建瓶颈。
  • 因此需要一种INTRA DATANODE BALANCING(DataNode内数据块的均匀分布)来解决intra-DataNode偏斜(在磁盘上块的不均匀分布),这种偏斜是由于磁盘更换或随机写入和删除发生的。
  • 因此,hadoop3.0中引入了一个名为disk balancer的工具,该工具专注于在DataNode内分发数据

hdfs disk balancer简介

  • hdfs disk balancer是hadoop3中引入的命令行工具,用于平衡DataNode中的数据在磁盘指甲分布不均匀问题。在这里特别注意,hdfs diskbalancer与hdfsbalancer是不同的

在这里插入图片描述

HDFS Disk Balancer功能

数据传播报告

为了衡量集群中哪些计算机遭受数据分布不均的影响,磁盘平衡器定义了volume data density metric(磁盘/卷数据密度度量标准)和Node Data Density metric(节点数据密度度量标准)

  • 卷(磁盘)数据密度:比较同台机器上不同卷之间的数据分布情况
  • 节点数据密度:比较的是不同机器之间的

在这里插入图片描述

  • 卷数据密度计算
    假设有一台具有四个卷的计算机,各个磁盘的使情况
    在这里插入图片描述

在这里插入图片描述

  • 磁盘平衡
    当指定某个datanode节点进行disk数据平衡,就可以先计算或读取当前的volume data density(磁盘数据密度)。有了这些数据,我们可以轻松确定哪些卷已经超量配置,哪些卷已经不足
    为了将数据从一个卷移动到datanode中的另一个卷,Hadoop开发实现了基于rpc协议的disk balancer

HDFS Disk Balancer开启

  • hdfs disk balancer通过创建计划进行操作,该计划是一组语句,描述应在两个磁盘之间移动多少数据,然后在datanode上执行该语句。计划包含多个移动步骤。计划中的每个移动步骤都具有目标磁盘,源磁盘的地址。移动步骤还具有要移动的字节数。该计划是针对可操作的datanode执行的
  • 默认情况下,Hadoop集群上已经启用了disk balancer功能。通过hdfs-site.xml中调整dfs.disk.balancer.enabled参数值,选择在Hadoop中是否启用磁盘平衡器

相关命令

  • plan计划
    命令:hdfs diskbalancer -plan < datanode>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

F5 LTM 知识点和实验 7-使用SNATs处理流量

第七章:使用SNATs处理流量 SNATs: 传统的vs都是对目的地址和端口进行改变,而源地址没有改变,如果你需要对源地址和源端口进行更改,则需要使用SNAT能力,好处在于: 1、允许不可路由地址(网络内部)的设备获得可路由地址以进入网络外部。2、确保目标服务器通过BIG-IP系统返…

[Docker实现测试部署CI/CD----相关服务器的安装配置(1)]

目录 0、CI/CD系统最终架构图规划IP地址 1、git配置Git下载pycharm配置gitidea配置git 2、GitLab安装与配置主机要求拉取镜像定义 compose.yml启动gitlab浏览器访问并修改密码查看登录密码修改密码 3、SonarQube 安装与配置拉取镜像修改虚拟内存的大小启动SonarQube登录 SonarQ…

5.2.16.静态映射操作LED3

5.2.16.静态映射操作LED3 5.2.16.1、添加驱动中的写函数 (1)先定义好应用和驱动之间的控制接口&#xff0c;这个是由自己来定义的。譬如定义为&#xff1a;应用向驱动写"on"则驱动让LED亮&#xff0c;应用向驱动写"off"&#xff0c;驱动就让LED灭 1. 驱动文…

自定义Controller接口参数的值不能为空的校验

需求&#xff1a;在进入到相应Controller控制器前&#xff0c;需要先校验参数是否符合规范要求&#xff0c;如是否为空等等。 有人说&#xff0c;可以使用PathVariable里面的required属性控制&#xff0c;然而该属性只是代表参数是否必填&#xff0c;并不能校验参数的值是否满…

python_在K线找出波段_01_找出所有转折点

目录 写在前面&#xff1a; 需要考虑的几种K线图情况&#xff1a; 寻找所有转折点逻辑&#xff1a; 代码&#xff1a; 寻找转折点方法&#xff1a;找到第一个转折点就返回 循环寻找峰谷方法 主方法 调用计算&#xff1a; 返回&#xff1a; 在【PyQt5开发验证K线视觉想…

C++继承特性(1)——含义与继承方式的讲解

目录 1.继承的含义 2.继承的定义&#xff1a; 3.继承方式 例子1&#xff1a;基类的访问限定符为public&#xff0c;两个派生类的继承方式分别为public、protected时&#xff1a; 例子2&#xff1a; 基类的访问限定符为protected&#xff0c;两个派生类的继承方式分别为pub…

软件测试工程师的职业规划,你都做好了吗?

第一阶段&#xff1a;初级测试工程师 一般刚刚入门&#xff0c;熟悉基本的测试流程&#xff0c;此时已打基础为主。入门薪资一般在6000-8000元之间。 具体工作是&#xff1a; &#xff08;1&#xff09; 按照测试方案和流程对产品进行功能测试&#xff0c;检查产品是否有缺陷…

Java读取及生成pb文件并转换jsonString

Java读取及生成pb文件并转换jsonString 1. 效果图2. 原理2.1 Protocol Buffers是什么2.2 支持的语言2.3 根据.proto生成.java2.4 初始化及构建pb&#xff0c;读取&#xff0c;转jsonString 3. 源码3.1 address.proto3.2 PbParseUtil.java 参考 读取pb及生成pb文件pb文件转换jso…

vue-cli4升级到vue-cli5的踩坑记录

前言 最近对部分项目升级了vue-cli脚手架&#xff0c;记录一下 问题一&#xff1a; scss/less/css中无法引入public下的静态资源 问题描述 在样式文件中使用静态资源路径导致编译无法通过 错误信息如下&#xff1a; Module not found: Error: Cant resolve /img/login/lo…

框架的知识点整理

目录 1、什么是Spring框架&#xff1f;Spring框架有哪些主要模块&#xff1f; 2 、 使用Spring框架有什么好处&#xff1f; 3、Spring MVC 工作原理 1、什么是Spring框架&#xff1f;Spring框架有哪些主要模块&#xff1f; Spring框架是一个开源的轻量级的Java应用程序开…

MySQL主从复制及读写分离(三十四)

目录 MySQL主从复制 一、概述 1、MySQL Replication优点&#xff1a; 二、MySQL复制类型 1、异步复制&#xff08;Asynchronous repication&#xff09; 2、全同步复制&#xff08;Fully synchronous replication&#xff09; 3、半同步复制&#xff08;Semisynchronous…

【构造】CF1758 C

Problem - 1758C - Codeforces 题意&#xff1a; 思路&#xff1a; 思路&#xff1a; #include <bits/stdc.h>#define int long longusing namespace std;const int mxn2e510; const int mxe2e510;int N,x; int ans[mxn];void solve(){cin>>N>>x;if(N%x!0)…

1999-2021年30省平均受教育年限(含原始数据和具体计算过程)

1999-2021年30省平均受教育年限&#xff08;含原始数据和具体计算过程&#xff09; 1、时间&#xff1a;1999-2021年 2、范围&#xff1a;30省&#xff08;剔除西藏&#xff09; 3、计算方式&#xff1a;平均受教育年限&#xff08;未上学人数*0小学人数*6初中人数*9高中人数…

2023年7月第4周大模型荟萃

2023年7月第4周大模型荟萃 2023.7.31版权声明&#xff1a;本文为博主chszs的原创文章&#xff0c;未经博主允许不得转载。 1、Cerebras推出全球最强AI超算 AI芯片初创公司Cerebras Systems和总部位于阿联酋的技术控股集团G42于7月20日宣布&#xff0c;携手打造一个由互联的超…

pytorch学习——正则化技术——权重衰减

一、概念介绍 权重衰减&#xff08;Weight Decay&#xff09;是一种常用的正则化技术&#xff0c;它通过在损失函数中添加一个惩罚项来限制模型的复杂度&#xff0c;从而防止过拟合。 在训练参数化机器学习模型时&#xff0c; 权重衰减&#xff08;weight decay&#xff09;是…

【JavaEE初阶】Servlet(四) Cookie Session

文章目录 1. Cookie && Session1.1 Cookie && Session1.2 Servlet会话管理操作 1. Cookie && Session 1.1 Cookie && Session Cookie是什么? Cookie是浏览器提供的持久化存储数据的机制.Cookie从哪里来? Cookie从服务器返回给浏览器. 服务…

生产中出现CPU或者内存飙升如何进行解决

文章目录 定位CPU标高内存问题JVM参数工具 定位CPU标高 方法1&#xff1a; 1-启动&#xff1a;java -jar 2_cpu-0.0.1-SNAPSHOT.jar 8 > log.file 2>&1 & 2-一般来说&#xff0c;应用服务器通常只部署了java应用&#xff0c;可以top一下先确认&#xff0c;是否是…

Java 错误异常介绍(Exceptions)

1、异常介绍 异常是程序执行期间发生的意外事件。它影响程序指令流&#xff0c;从而导致程序异常终止。 发生异常的原因有很多。其中包括&#xff1a; 无效的用户输入 设备故障 网络连接丢失 物理限制&#xff08;磁盘内存不足&#xff09; 代码错误 打开一个不可用的文…

第四章:C语言的条件分支控制结构

文章目录 1、分支控制if..else...2、分支控制if..else if...else...(嵌套)3、Switch4、goto 1、分支控制if…else… 标准格式&#xff1a;if{}else{} {}里面的语句表示条件是否成立再决定是否执行 2、分支控制if…else if…else…(嵌套) 标准格式&#xff1a;if{}else if{}…

无人机调试笔记——常见参数

无人机的PID调试以及速度相关参数 1、Multicopter Position Control主要是用来设置无人机的各种速度和位置参数。调试顺序是先调试内环PID&#xff0c;也就是无人机的速度闭环控制&#xff0c;确认没有问题后再进行外环位置控制&#xff0c;也就是定点模式控制。 2、调试的时…