Hadoop—archive

Hadoop archive归档命令的使用 archive 命令有什么用 archive 可以用来解决 Hadoop 中的小文件问题,当存在大量小文件时,会产生如下影响: HDFS 中,小文件过多会占用大量内存,NameNode 内存容量最终会成为限制集群扩展的瓶颈。 HDFS 读写小文件更加耗时,因为每次都需要从 NameNode 获取元信息,并与对应的 DataNode 建立连接。 小文件过多会开很多 map,一个 map 启动一个 ... 阅读详情

     HDFS并不擅长存储小文件,因为每个文件最少一个block,每个block的元数据都会在namenode节点占用内存,如果存在这样大量的小文件,它们会吃掉namenode节点的大量内存。Hadoop Archive是一个高效地将小文件放入HDFS块中的文件存档文件格式,它能够将多个小文件打包成一个后缀为.har文件,这样减少namenode内存使用的同时,仍然允许对文件进行透明的访问。


    Hadoop Archive目录包含metadata(in the form of _index and _masterindex)和data (part-*)文件。The _index file contains the name of the files that are part of the archive and the location within the part files.

    Hadoop官网的Hadoop Archives Guide

1. 怎么使用Archive

    用法:hadoop archive -archiveName name -p <parent> [-r <replication factor>] <src>* <dest>

    -archiveName用来指定要创建的archive的文件名,必须以.har结尾,例如:foo.har;

    -p用来指定Archive文件的父路径,指定了之后,后面的src、dest都是相对路径,例如:-p /foo/bar a/b/c e/f/g;

    -r用来指定所需的复制因子,这个参数是可有可无的,如果没有的话,默认选择10作为复制因子。

[hadoop@master ~]$ hadoop fs -ls -R /
drwxr-xr-x   - hadoop supergroup          0 2016-01-30 19:56 /user
drwxr-xr-x   - hadoop supergroup          0 2016-01-30 19:59 /user/hadoop
drwxr-xr-x   - hadoop supergroup          0 2016-01-30 19:59 /user/hadoop/har
drwxr-xr-x   - hadoop supergroup          0 2016-01-30 19:58 /user/hadoop/test_archive
-rw-r--r--   3 hadoop supergroup          2 2016-01-30 19:58 /user/hadoop/test_archive/2016-1
-rw-r--r--   3 hadoop supergroup          2 2016-01-30 19:58 /user/hadoop/test_archive/2016-2
-rw-r--r--   3 hadoop supergroup          2 2016-01-30 19:58 /user/hadoop/test_archive/2016-3

     现在要将/user/hadoop/test_archive目录下的2016-1、2016-2、2016-3文件归档到/user/hadoop/har目录下,可以使用如下命令:hadoop archive -archiveName combine.har -p /user/hadoop test_archive/2016-1 test_archive/2016-2 test_archive/2016-3 har。当然了,也可以使用通配符来完成:hadoop archive -archiveName combine2.har -p /user/hadoop test_archive/2016-[1-3] har

2. 怎么查看Archive文件

     archive作为文件系统层暴露给外界。所以所有的fs shell命令都能在archive上运行,但是要使用不同的URI。 另外,archive是不可改变的。所以重命名,删除和创建都会返回错误。Hadoop Archive的URI是:har://scheme-hostname:port/archivepath/fileinarchive。

    如果没提供scheme-hostname,它会使用默认的文件系统。这种情况下URI是这种形式:har:///archivepath/fileinarchive


[hadoop@master ~]$ hadoop fs -ls /user/hadoop/har
Found 1 items
drwxr-xr-x   - hadoop supergroup          0 2016-01-30 20:02 /user/hadoop/har/combine.har

[hadoop@master ~]$ hadoop fs -ls /user/hadoop/har/combine.har
Found 4 items
-rw-r--r--   3 hadoop supergroup          0 2016-01-30 20:02 /user/hadoop/har/combine.har/_SUCCESS
-rw-r--r--   5 hadoop supergroup        378 2016-01-30 20:02 /user/hadoop/har/combine.har/_index
-rw-r--r--   5 hadoop supergroup         23 2016-01-30 20:02 /user/hadoop/har/combine.har/_masterindex
-rw-r--r--   3 hadoop supergroup          6 2016-01-30 20:02 /user/hadoop/har/combine.har/part-0

[hadoop@master ~]$ hadoop fs -ls -R har://hdfs-master:9000/user/hadoop/har/combine.har
16/01/30 20:27:45 WARN hdfs.DFSClient: DFSInputStream has been closed already
drwxr-xr-x   - hadoop supergroup          0 2016-01-30 19:58 har://hdfs-master:9000/user/hadoop/har/combine.har/test_archive
-rw-r--r--   3 hadoop supergroup          2 2016-01-30 19:58 har://hdfs-master:9000/user/hadoop/har/combine.har/test_archive/2016-1
-rw-r--r--   3 hadoop supergroup          2 2016-01-30 19:58 har://hdfs-master:9000/user/hadoop/har/combine.har/test_archive/2016-2
-rw-r--r--   3 hadoop supergroup          2 2016-01-30 19:58 har://hdfs-master:9000/user/hadoop/har/combine.har/test_archive/2016-3

     也可以省略掉hdfs-master:9000

[hadoop@master ~]$ hadoop fs -ls -R har:///user/hadoop/har/combine.har
16/01/30 20:31:32 WARN hdfs.DFSClient: DFSInputStream has been closed already
drwxr-xr-x   - hadoop supergroup          0 2016-01-30 19:58 har:///user/hadoop/har/combine.har/test_archive
-rw-r--r--   3 hadoop supergroup          2 2016-01-30 19:58 har:///user/hadoop/har/combine.har/test_archive/2016-1
-rw-r--r--   3 hadoop supergroup          2 2016-01-30 19:58 har:///user/hadoop/har/combine.har/test_archive/2016-2
-rw-r--r--   3 hadoop supergroup          2 2016-01-30 19:58 har:///user/hadoop/har/combine.har/test_archive/2016-3

3. 怎么解压Archive文件

    Since all the fs shell commands in the archives worktransparently, unarchiving is just a matter of copying.

    To unarchive sequentially(串行解压):

    hdfs dfs -cp har:///user/zoo/foo.har/dir1 hdfs:/user/zoo/newdir

    To unarchive in parallel(并行解压), use DistCp:

    hadoop distcp har:///user/zoo/foo.har/dir1 hdfs:/user/zoo/newdir

4. Hadoop Archives and MapReduce

    Using Hadoop Archives in MapReduce is as easy as specifying a different input filesystem than the default file system. If you have a hadoop archive stored in HDFS in /user/zoo/foo.har then for using this archive for MapReduce input, all you need to specify the input directory as har:///user/zoo/foo.har. Since Hadoop Archives is exposed as a file system MapReduce will be able to use all the logical input files in Hadoop Archives as input.

hadoop优化 之 Archive 归档工具使用 Hadoop并不擅长对小型文件的储存,原因取决于Hadoop文件系统的文件管理机制,Hadoop的文件存储的单元为一个块(block),block的数据存放在集群中的datanode节点上,由namenode对所有datanode存储的block进行管理。namenode将所有block的元数据存放在内存中,以方便快速的响应客户端的请求。那么问题来了,不管一个文件有多小,Hadoop都把它视为一个block,大量的小文件,将会把namenode的内存耗尽。 那么如何对大量的小文件进行有效的处理呢? 阅读详情

相关推荐

hadoop 的归档archive的使用

archive 使用场景 hadoop 文件元数据都保存在namenode中,小文件过多会造成nn 内存耗尽,一个文件一般占用nn 的120kb 左右的内存,防止小文件过多,小文件采用归档archive 的方式使好多小文件被nn看成是一个文件 archive 作用 减少nn 压力,让多个小文件被nn 看成是一个文件 archivem命令的使用 hadoop archive -archiveName...

weixin_43548518的博客 664

一文搞懂Hadoop Archive

【概述】在HDFS存储体系中,可存储的文件数量受限于NN的内存大小。因为在NN内存中,存储了所有文件的block信息。因此,对于大量小文件问题,可通过联邦(Federation)和归档(A...

hncscwc的博客 3944

Hadoop 如何使用 Archives 实现归档

1. 什么是Hadoop archives?Hadoop archives是特殊的档案格式。一个Hadoop archive对应一个文件系统目录。 Hadoop archive的扩展名是*.har。Hadoop archive包含元数据(形式是_index和_masterindx)和数据(part-*)文件。_index文件包含了档案中的文件的文件名和位置信息。2. 如何创建archive?2.1...

SmartSi 1905

Hadoop 集群小文件归档 HAR、小文件优化 Uber 模式

Uber 模式” 是指在 Hadoop 中运行 MapReduce 任务时,将所有的任务(Mapper 和 Reducer)都运行在一个单独的 JVM 进程中,而不是在集群的不同节点上分别启动多个 JVM 进程来运行任务。这个模式的名称来自于 Uber 公司,他们在其 Hadoop 集群上采用了这种方式来运行任务。

JIE的博客 --- moon_coder 1903

【YOLOv8实战】从零构建番茄成熟度智能检测GUI系统【附完整工程】

本文详细介绍了从零构建基于YOLOv8的番茄成熟度智能检测GUI系统的完整实战流程。内容涵盖环境搭建、数据集准备、模型训练调优,并重点讲解如何使用PyQt5开发图形界面,最终将项目打包为可执行文件,实现AI模型从训练到桌面应用落地的完整工程闭环。

xxx12的博客 821

DISM错误87详解:RestoreHealth选项无法识别的修复方法

DISM(部署映像服务和管理工具)是Windows系统维护与修复的核心命令行工具,常与SFC(系统文件检查器)配合使用,用于扫描和修复组件存储损坏、系统文件缺失等问题。在执行系统健康检查时,用户常会遭遇错误87,提示“未在此上下文中识别出restorehealth选项”。该错误的本质并非工具损坏,而是命令参数结构不符合DISM的语法解析规则,或当前系统环境(如Windows 7、WinRE/PE、32位环境)不支持该参数。理解DISM的命令层级、参数挂载关系以及运行上下文,是精准排除故障的前提。通过核对标准

weixin_34116482的博客 465

在Hadoop中如何实现高效的数据归档和存储管理?

在Hadoop中实现高效的数据归档和存储管理是优化集群性能和降低运营成本的关键。

qq_33240556的博客 713

Cadence IC618版图DRC验证License报错排查:从虚拟机网络配置到HOSTID的实战解析

本文详细解析了Cadence IC618版图设计中DRC验证License报错的排查方法,重点从虚拟机网络配置到HOSTID获取的实战经验。通过对比ifconfig与ip add命令的差异,提供了正确的HOSTID获取方式及License文件修改技巧,帮助工程师快速解决IC618环境下的DRC验证问题。

weixin_30823001的博客 677

【hadoop】Archive命令使用

Archive命令 hadoop Archive是一个高效地将小文件放入HDFS块中的文件存档文件格式,它能够将多个小文件打包成一个后缀为.har文件,这样减少namenode内存使用的同时,仍然允许对文件进行透明的访问。 hadoop Archive目录包含元数据文件( _index 和 _masterindex)和数据文件(part-*),这个_index文件包含了所有文件的名称和他对应par...

lbf_ML的博客 2870

华为星闪SLE实战:手把手教你用HarmonyOS开发智能家居控制应用(附完整代码)

本文详细介绍了如何利用华为星闪SLE技术,结合HarmonyOS开发智能家居控制应用。通过对比传统无线技术,阐述了星闪SLE在低时延、高可靠性和高并发方面的优势,并提供了从环境搭建、设备发现、连接管理到核心控制代码的完整实战教程,帮助开发者快速上手这一无线短距通信技术。

bert9linguist的博客 505

KEGG数据库与KAAS工具:基因功能注释的实用指南

本文提供了使用KEGG数据库与KAAS工具进行基因功能注释的完整实用指南。详细阐述了如何从准备基因或蛋白序列开始,通过KAAS服务器获取KEGG Orthology(KO)编号,并解读注释结果。文章进一步介绍了如何利用KOBAS工具进行通路富集分析,将定性观察转化为定量洞察,并分享了提高注释准确率、处理大数据集及使用API等避坑技巧与高阶方法,为基因组学、转录组学研究者奠定坚实的数据分析基础。

weixin_29292535的博客 390

hadoop archive详解

前言 hdfs并不擅长存储小文件,因为每个文件最少一个block,每个block的元数据都会在NameNode中占用150byte内存。如果存储大量的小文件,它们会吃掉NameNode节点的大量内存。MR案例:小文件处理方案 Hadoop Archive或者HAR,是一个高效地将小文件放入HDFS块中的文件存档工具。它能将多个小文件打包成一个HAR文件,这样在减少NameNode内存使用的同时,仍...

qq_45300786的博客 1215

apm软件仿真+QGC地面站 环境搭建

本教程使用场景:apm软件仿真运行于虚拟机 ubuntu环境。qgc地面站位于windows 系统。两个环境在同一台电脑上。 一.apm仿真环境搭建 1.安装vm虚拟机及ubuntu 18。 2.ubuntu下 下载Ardupilot 飞控源码 并配置环境。 下载源码: git clone https://github.com/ArduPilot/ardupilot cd ardupilot git submodule update --init --recursive 配置所需运行的环境:

qthello 6110

hadoop归档命令archive

hadoop命令:archive hadoop版本:2.6.0 官方链接: https://hadoop.apache.org/docs/r2.6.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/HadoopArchives.html#Overview 一. 引 hadoop不适合小文件的存储,小文件本省就占用了很多的metadat...

敲烂键盘为止 2410

【AUTOSAR SystemServices】AUTOSAR CP中Watchdog Manager模块技术解析

本文深入解析了AUTOSAR中的Watchdog Manager模块实现。该模块通过多层次监督机制(Alive/Deadline/Logical Supervision)确保系统安全运行,具备动态模式切换和分级故障处理能力。 关键实现包括: 数据结构设计:包含监督实体状态结构体(实时状态维护)、监督配置结构体(支持模式切换)和全局状态信息(系统级监控) 核心流程优化:初始化采用事务性设计,检查点处理通过条件编译优化,主监控循环采用流水线式并行处理 监督机制实现:Alive监督采用滑动窗口算法,Deadlin

1038

【WRF安装】WRF环境配置移植详细说明

【WRF安装】WRF环境配置移植详细说明

WW、forever的博客 819

工具-Hadoop Archive

原理 命令使用方式 演示 不足 原理 Hadoop的文件存储的单元为一个块(block),block的数据存放在集群中的datanode节点上,由namenode对所有datanode存储的block进行管理。每个文件对应的block块信息称为元数据,这些数据保存在namenode上。如果存在大量小文件,会导致namenode上的元数据急剧膨胀,而这些元数据一般存放在namenode内存中...

文洲的专栏 814

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

hadoop archive 详解《转载》

hadoop archive 详解《转载》   (2016-05-06 15:10:12) 转载▼     1.hadoop Archive的作用是什么? 2.怎么使用hadoop Archive? 3.怎么查找Archive文件? 4.怎样解压Archive文件? 5.本文还介绍了哪些命令? archive 详解《转载

张伟的专栏 1027

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Hadoop Archive管理大量小文件

1.usage [code lang="xml"] 1.usage [code lang="xml"] [hadoop@hadoop1 ~]$ hadoop archive archive -archiveName NAME -p * [/code] 2.use case:Archive [code lang="xml"] [hadoop@hadoop1 ~]$ hadoop

来啊 快活啊 1802

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

hadoop archive

具体格式如下: hadoop archive -archiveName name.har -p src dest hadoop  archive -archiveName 20130312.har -p /flume/loginlog/20130312 loglog/ 这样如果mapreduce 中要指定路径的话,必须明确指定 har 文件 如 hadoop jar aaa.jar

zhouleilei的专栏 779

Hadoop Archive: File Compaction for HDFS

Thanks to Tsz-Wo Nicholas Sze and Mahadev Konar for this article. (Tue July 27, 2010) The Problem of Many Small Files The Hadoop Distributed File System (HDFS) is designed to store and process

Mac Track 1429

hadoop的archive归档和CombineFileInputFormat的使用

在使用mapreduce进行计算的时候,有时候会因为小文件过多,导致map任务过多,用下面的方式(CombineFileInputFormat),可以减少map数量:http://www.cnblogs.com/skyl/p/4761662.html 原来flume上传好多个小文件,但是hdfs的块儿大小设置为64M,而hadoop一直非常讨厌小文件,因为小文件会占用大量的namenode空间,我

月夜楓 300

Hadoop Archive解决海量小文件存储

http://www.linuxidc.com/Linux/2012-05/60785p2.htm 单台服务器作为Namenode,当文件数量规模不断增大时,元数据的规模增长将是一个需要面对的问题,由于Namenode需要将所有元数据Load到内存中,单台Namenode可能会无法管理海量的元数据。另一个是HDFS中SequenceFile存储方式的讨论,利用Block压缩方式可以很好的

mituan1234567的专栏 1869

如何使用dbx分析core文件_0508-如何使用Hadoop的Archive处理小文件

1.文档编写目的Fayson在前面的文章0403-如何在Hadoop中处理小文件、0455-如何在Hadoop中处理小文件-续和0405-如何使用Impala合并小文件等,在文章中也详细说明了怎么去处理Hadoop中的小文件。文章中也提到小文件过多会对NameNode造成压力,导致NameNode内存使用过高。本篇文章Fayson主要使用Hadoop Archive Files功能将集群中的小文件...

weixin_39644614的博客 101
上一篇: NTP服务及时间同步(CentOS6.x)
下一篇: Hadoop—distcp
Wang_AI
博客等级 码龄12年 988粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值