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

Hadoop3教程(三十三):(生产调优篇)慢磁盘监控与小文件归档

文章目录

  • (161)慢磁盘监控
  • (162)小文件归档
    • 小文件过多的问题
    • 如何对小文件进行归档
  • 参考文献

(161)慢磁盘监控

慢磁盘,是指写入数据时特别慢的一类磁盘。这种磁盘并不少见,当机器运行久了,跑任务跑的多了,磁盘的寿命到一定程度的时候,磁盘的读写性能自然就会退化,严重时就会出现写数据延迟的问题。

比如说,如果正常在HDFS上创建一个目录,只需要1s左右。但是你偶尔发现创建目录时超过了1分钟或者更久,但次数不多,就很有可能存在慢磁盘。

那怎么找到是哪块磁盘慢呢?

第一种方式是通过心跳未联系时间

一般出现慢磁盘现象,会影响到DataNode与NameNode之间的心跳。正常情况心跳时间间隔是3s。超过3s说明有异常。

第二种方式,是通过fio命令,测试磁盘的读写性能。

(1)顺序读测试

[atguigu@hadoop102 ~]# sudo yum install -y fio[atguigu@hadoop102 ~]# sudo fio -filename=/home/atguigu/test.log -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=test_rRun status group 0 (all jobs):READ: bw=360MiB/s (378MB/s), 360MiB/s-360MiB/s (378MB/s-378MB/s), io=20.0GiB (21.5GB), run=56885-56885msec

结果显示,磁盘的总体顺序读速度为360MiB/s。

(2)顺序写测试

[atguigu@hadoop102 ~]# sudo fio -filename=/home/atguigu/test.log -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=test_wRun status group 0 (all jobs):WRITE: bw=341MiB/s (357MB/s), 341MiB/s-341MiB/s (357MB/s-357MB/s), io=19.0GiB (21.4GB), run=60001-60001msec

结果显示,磁盘的总体顺序写速度为341MiB/s。

(3)随机写测试

[atguigu@hadoop102 ~]# sudo fio -filename=/home/atguigu/test.log -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=test_randwRun status group 0 (all jobs):WRITE: bw=309MiB/s (324MB/s), 309MiB/s-309MiB/s (324MB/s-324MB/s), io=18.1GiB (19.4GB), run=60001-60001msec

结果显示,磁盘的总体随机写速度为309MiB/s。

(4)混合随机读写:

[atguigu@hadoop102 ~]# sudo fio -filename=/home/atguigu/test.log -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=2G -numjobs=10 -runtime=60 -group_reporting -name=test_r_w -ioscheduler=noopRun status group 0 (all jobs):READ: bw=220MiB/s (231MB/s), 220MiB/s-220MiB/s (231MB/s-231MB/s), io=12.9GiB (13.9GB), run=60001-60001msecWRITE: bw=94.6MiB/s (99.2MB/s), 94.6MiB/s-94.6MiB/s (99.2MB/s-99.2MB/s), io=5674MiB (5950MB), run=60001-60001msec

结果显示,磁盘的总体混合随机读写,读速度为220MiB/s,写速度94.6MiB/s。

随机读写会稍慢一些,这个是合理的,因为多了步磁盘寻址的过程,所以会多花些时间。

(162)小文件归档

小文件过多的问题

HDFS存储的小文件过多,会极大的影响数据搜索和读取的速度。

100个1K的文件块和100个128M的文件块,占用NN的内存是一样的。

因为NN在内存里会为每个文件块存储一份150byte大小的元数据。

所以在副本数为3的情况下,128个1M的文件块,在DN中占用存储空间是128 * 3M,在NN中占用128 * 150byte。

而1个128M的文件块,在DN中占用128*3M,在NN中占用1*150byte

看出问题了吧,虽然两种情况下占用的DN存储空间是一样的,但是小文件情况下,NN占用的内存飙升,关键是占用的这部分内存太过浪费了。

解决小文件的方法之一,就是 使用HAR文件来进行归档 。可以简单理解成,HAR会把小文件进行压缩,压缩成一个文件,放进一个文件块里。

压缩产生的HAR文件会被NameNode视为是一个整体,但是其内部仍然是多个小文件。但是在NameNode登记的时候,就会作为一个整体来登记了。

在这里插入图片描述

如何对小文件进行归档

接下来来做一个案例实操:

(1)需要启动YARN进程

[atguigu@hadoop102 hadoop-3.1.3]$ start-yarn.sh

启动yarn进程是因为这个压缩归档的过程其实是一个MR处理,因此必须要开启YARN来做调度。

(2)归档文件

把/input目录里面的所有文件归档成一个叫input.har的归档文件,并把归档后文件存储到/output路径下。

[atguigu@hadoop102 hadoop-3.1.3]$ hadoop archive -archiveName input.har -p /input  /output

(3)查看归档

[atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -ls /output/input.har[atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -ls har:///output/input.har

使用第一个指令尝试查看归档文件的话,是无法查看到被压缩的一个个小文件的,只能看到几个压缩的索引文件和特殊格式的数据文件。

使用第二种指令,是可以成功看到被压缩的一个个小文件。

(4)解归档文件

[atguigu@hadoop102 hadoop-3.1.3]$ hadoop fs -cp har:///output/input.har/*  /

这个是把归档文件在指定目录重新解压出来。

参考文献

  1. 【尚硅谷大数据Hadoop教程,hadoop3.x搭建到集群调优,百万播放】

相关文章:

Hadoop3教程(三十三):(生产调优篇)慢磁盘监控与小文件归档

文章目录 (161)慢磁盘监控(162)小文件归档小文件过多的问题如何对小文件进行归档 参考文献 (161)慢磁盘监控 慢磁盘,是指写入数据时特别慢的一类磁盘。这种磁盘并不少见,当机器运行…...

物联网知识复习

物联网的内涵和体系结构 物联网的基本内涵 物联网的基本内涵在于物联,物物相连或者物和人相连的互联网。 也就是说,它是要由物主动发起的,物物互联的互联网。 它的第一层意思是说物和物相连;第二层意思是说物和人相连。 物联网的…...

Golang爬虫入门指南

引言 网络爬虫是一种自动化程序,用于从互联网上收集信息。随着互联网的迅速发展,爬虫技术在各行各业中越来越受欢迎。Golang作为一种高效、并发性好的编程语言,也逐渐成为爬虫开发的首选语言。本文将介绍使用Golang编写爬虫的基础知识和技巧…...

1024渗透测试如何暴力破解其他人主机的密码(第十一课)

1024渗透测试如何暴力破解其他人主机的密码(第十一课) 1 crunch 工具 crunch是一个密码生成器,一般用于在渗透测试中生成随机密码或者字典攻击。下面是常见的一些使用方法: 生成密码字典 生成6位数字的字典:crunch 6 6 -t -o dict.txt …...

记录一次线下渗透电气照明系统(分析与实战)

项目地址:https://github.com/MartinxMax/S-Clustr 注意 本次行动未造成任何设备损坏,并在道德允许范围内测试 >ethical hacking< 发现过程 在路途中,发现一个未锁的配电柜,身为一个电工自然免不了好奇心(非专业人士请勿模仿,操作不当的话220V人就直了) 根据照片,简…...

Android ADB 常用命令及详解

Android ADB 常用命令及详解 Android Debug Bridge&#xff08;ADB&#xff09;是 Android 开发工具包&#xff08;SDK&#xff09;的一部分&#xff0c;用于与 Android 设备通信和执行各种任务。无论你是 Android 开发者还是普通用户&#xff0c;了解 ADB 命令是非常有用的&a…...

GO 工程下载依赖操作流程(go mod)

1. 写一个main.go文件 package main import ("fmt""net/http""github.com/ClickHouse/clickhouse-go" ) func main() {fmt.Println("服务启动......")http.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Requ…...

[Linux打怪升级之路]-system V共享内存

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 本期学习目标&…...

STM32不使用 cubeMX实现外部中断

这篇文章将介绍如何不使用 cubeMX完成外部中断的配置和实现。 文章目录 前言一、文件加入工程二、代码解析exti.cexti.hmain.c 注意&#xff1a;总结 前言 实验开发板&#xff1a;STM32F103C8T6。所需软件&#xff1a;keil5 &#xff0c; cubeMX 。实验目的&#xff1a;如何不…...

Nautilus Chain 与 Coin98 生态达成合作,加速 Zebec 生态亚洲战略进

目前&#xff0c;行业内首个模块化 Layer3 架构公链 Nautilus Chain 已经上线主网&#xff0c;揭示了模块化区块链领域迎来了全新的进程。在主网上线后&#xff0c;Nautilus Chain 将扮演 Zebec 生态中最重要的底层设施角色&#xff0c;并将为 Zebec APP 以及 Zebec Payroll 规…...

method.isAnnotationPresent(Xxx.class)一直为null

​​​​package com.dj.springtest.aspect;import com.dj.springtest.annotation.RequireRoles; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.s…...

基于CNN实现谣言检测 - python 深度学习 机器学习 计算机竞赛

文章目录 1 前言1.1 背景 2 数据集3 实现过程4 CNN网络实现5 模型训练部分6 模型评估7 预测结果8 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于CNN实现谣言检测 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&am…...

MySQL——七、MySQL备份恢复

MySQL 一、MySQL日志管理1、MySQL日志类型2、错误日志3、通用查询日志4、慢查询日志5、二进制日志5.1 开启日志5.2 二进制日志的管理5.3 日志查看5.4 二进制日志还原数据 二、MySQL备份1、备份类型逻辑备份优缺点 2、备份内容3、备份工具3.1 MySQL自带的备份工具3.2 文件系统备…...

iOS如何实现语音转文字功能?

1.项目中添加权限 Privacy - Speech Recognition Usage Description : 需要语音识别权限才能实现语音转文字功能 2.添加头文件 #import <AVFoundation/AVFoundation.h> #import<Speech/Speech.h> 3.实现语音转文字逻辑: 3.1 根据wav语音文件创建请求 SFSpeechU…...

【下载器篇】获取微软应用商店应用安装包的方法

【下载器篇】获取微软应用商店应用安装包的方法 微软应用商店历史版本应用下载方法&#xff0c;部分历史版本无法搜索到—【蘇小沐】 文章目录 【下载器篇】获取微软应用商店应用安装包的方法1.实验环境 &#xff08;一&#xff09;微软商店的在线链接生成器1、复制该应用的在…...

云安全—集群攻击入口攻与防

0x00 前言 说到云安全肯定不能避免的是集群相关的内容&#xff0c;最出色的就是Kubernetes&#xff0c;也就是k8s。当然docker相关的内容也算是集群的一部分。但是docker容器本身的问题还是归属于容器本身。 0x01 概述 在集群攻击入口处的内容主要为&#xff1a; 应用安全恶…...

“传统”开发与AI开发的区别与联系(更新了GPT3.5的反馈)

1、传统开发的算法和软件整体&#xff0c;也可以看成是一个“大模型”&#xff0c;其中有不同层次的处理&#xff0c;最终能够完成从输入到输出的计算&#xff0c;不过&#xff0c;其中的计算都是人工定义的&#xff0c;一般依赖于研究成果的应用。研究成果在实际中的应用处理。…...

Unity 文字显示动画(2)

针对第一版的优化&#xff0c;自动适配文字大小&#xff0c;TextMeshPro可以拓展各种语言。第一版字母类语言效果更好。 using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI;public partial class TextBeat…...

力扣每日一题53:最大子数组和

题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的一个连续部分。 示例 1&#xff1a; 输入&#xff1a;nums [-2,1,-3,4,-1,2,1,…...

图论04-【无权无向】-图的广度优先遍历

文章目录 1. 代码仓库2. 广度优先遍历图解3.主要代码4. 完整代码 1. 代码仓库 https://github.com/Chufeng-Jiang/Graph-Theory 2. 广度优先遍历图解 3.主要代码 原点入队列原点出队列的同时&#xff0c;将与其相邻的顶点全部入队列下一个顶点出队列出队列的同时&#xff0c;将…...

从CSV到KML:三种主流转换方案的技术选型与实践指南

1. 为什么需要将CSV转换为KML&#xff1f; 在日常工作中&#xff0c;我们经常会遇到需要将地理坐标数据可视化的场景。比如物流公司需要在地图上标记所有配送点&#xff0c;旅游博主想展示行程路线&#xff0c;或者科研人员要分析野生动物迁徙轨迹。这些场景的共同点是&#xf…...

SAP月结实操:手把手教你配置FAGL_FC_VAL外币评估(含OB59/OBA1避坑指南)

SAP月结实操&#xff1a;从零到精通的FAGL_FC_VAL外币评估全流程指南 第一次接触SAP月结外币评估时&#xff0c;我盯着屏幕上跳出的报错信息手足无措。作为刚入行的财务顾问&#xff0c;OB59里密密麻麻的配置项和OBA1中复杂的记账规则让我差点崩溃。直到后来在项目上踩过无数坑…...

基于Pixhawk 6C的模块化无人机数据采集平台设计与实现

1. 项目概述&#xff1a;基于Pixhawk 6C的模块化无人机数据采集平台 这个项目源于我多年对小型无人机自主控制系统的探索。从早期的Erle Robotics时代开始&#xff0c;我就被机载计算和自主飞行的可能性深深吸引。如今&#xff0c;通过Pixhawk 6C飞控、M10 GPS模块和915MHz数传…...

网盘直链下载助手:八大主流网盘全速下载的完整解决方案

网盘直链下载助手&#xff1a;八大主流网盘全速下载的完整解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…...

RPFM终极指南:10个技巧让你成为Total War模组制作专家

RPFM终极指南&#xff1a;10个技巧让你成为Total War模组制作专家 【免费下载链接】rpfm Rusted PackFile Manager (RPFM) is a... reimplementation in Rust and Qt5 of PackFile Manager (PFM), one of the best modding tools for Total War Games. 项目地址: https://git…...

Windows Android应用安装终极指南:告别模拟器的5个快速步骤

Windows Android应用安装终极指南&#xff1a;告别模拟器的5个快速步骤 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否厌倦了在Windows上使用笨重的Android模拟…...

抖音内容采集与管理的完整解决方案:douyin-downloader 技术深度解析

抖音内容采集与管理的完整解决方案&#xff1a;douyin-downloader 技术深度解析 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser f…...

SAP采购订单行项目增强实战:用BADI ME_GUI_PO_CUST添加自定义字段(避坑指南)

SAP采购订单行项目增强实战&#xff1a;用BADI ME_GUI_PO_CUST添加自定义字段&#xff08;避坑指南&#xff09; 在SAP标准采购订单&#xff08;ME21N/ME22N/ME23N&#xff09;中扩展行项目字段是常见的业务需求&#xff0c;比如添加"紧急程度"或"内部备注"…...

5个理由告诉你,为什么PPTist是下一代在线演示文稿制作工具的首选

5个理由告诉你&#xff0c;为什么PPTist是下一代在线演示文稿制作工具的首选 【免费下载链接】PPTist PowerPoint-ist&#xff08;/pauəpɔintist/&#xff09;, An online presentation application that replicates most of the commonly used features of MS PowerPoint, a…...

【卷卷观察】一边是44%新歌是AI唱的,一边是广告男主脖子扭到后背:AI内容失控的AB面

两条新闻&#xff0c;放在一起读&#xff0c;越读越有意思。欧洲那边&#xff1a;流媒体平台Deezer上周公布了一组数据&#xff0c;平台每日新增音乐里&#xff0c;44%是AI生成的。每天75000首AI歌曲入库。调查发现&#xff0c;97%的用户根本分辨不出哪首是AI唱的、哪首是真人在…...