Hadoop Archives

本文讲的是Hadoop Archives,【IT168 资讯】Hadoop archives是特殊的档案格式。一个Hadoop archive对应一个文件系统目录。 Hadoop archive的扩展名是.har。Hadoop archive包含元数据(形式是_index和_masterindx)和数据(part-)文件。_index文件包含了档案中的文件的文件名和位置信息。
如何创建archive?
  用法: hadoop archive -archiveName name *
  由-archiveName选项指定你要创建的archive的名字。比如foo.har。archive的名字的扩展名应该是*.har。输入是文件系统的路径名,路径名的格式和平时的表达方式一样。创建的archive会保存到目标目录下。注意创建archives是一个Map/Reduce job。你应该在map reduce集群上运行这个命令。下面是一个例子:
  hadoop archive -archiveName foo.har /user/hadoop/dir1 /user/hadoop/dir2 /user/zoo/
  在上面的例子中, /user/hadoop/dir1 和 /user/hadoop/dir2 会被归档到这个文件系统目录下 -- /user/zoo/foo.har。当创建archive时,源文件不会被更改或删除。
如何查看archives中的文件?
  archive作为文件系统层暴露给外界。所以所有的fs shell命令都能在archive上运行,但是要使用不同的URI。 另外,archive是不可改变的。所以重命名,删除和创建都会返回错误。Hadoop Archives 的URI是
  har://scheme-hostname:port/archivepath/fileinarchive
  如果没提供scheme-hostname,它会使用默认的文件系统。这种情况下URI是这种形式
  har:///archivepath/fileinarchive
  这是一个archive的例子。archive的输入是/dir。这个dir目录包含文件filea,fileb。 把/dir归档到/user/hadoop/foo.bar的命令是
  hadoop archive -archiveName foo.har /dir /user/hadoop
  获得创建的archive中的文件列表,使用命令
  hadoop dfs -lsr har:///user/hadoop/foo.har
  查看archive中的filea文件的命令-
  hadoop dfs -cat har:///user/hadoop/foo.har/dir/filea

时间: 2024-11-10 11:34:58

Hadoop Archives的相关文章

hadoop详解(五) Archives

简介 我们在hadoop深入研究:(一)--hdfs介绍里已讲过,hdfs并不擅长存储小文件,因为每个文件最 少一个block,每个block的元数据都会在namenode节点占用内存,如果存在这样大量的小文件,它们会吃掉 namenode节点的大量内存. hadoop Archives可以有效的处理以上问题,他可以把多个文件归档成为一个文 件,归档成一个文件后还可以透明的访问每一个文件,并且可以做为mapreduce任务的输入. 用法 hadoop Archives可以使用archive工具创

Hadoop命令手册

本文讲的是Hadoop命令手册,[IT168 资讯]所有的hadoop命令均由bin/hadoop脚本引发.不指定参数运行hadoop脚本会打印所有命令的描述. 用法:hadoop [--config confdir] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS] Hadoop有一个选项解析框架用于解析一般的选项和运行类. 命令选项 描述 --config confdir 覆盖缺省配置目录.缺省是${HADOOP_HOME}/conf. GENERI

Hadoop关于处理大量小文件的问题和解决方法

小文件指的是那些size比HDFS的block size(默认64M)小的多的文件.如果在HDFS中存储小文件,那么在HDFS中肯定会含有许许多多这样的小文件(不然就不会用hadoop了).而HDFS的问题在于无法很有效的处理大量小文件. 任何一个文件,目录和block,在HDFS中都会被表示为一个object存储在http://www.aliyun.com/zixun/aggregation/11696.html">namenode的内存中,没一个object占用150 bytes的内存

hadoop +hbase +zookeeper 完全分布搭建 (版本一)

hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA.YARN等.最新的hadoop-2.6.0又增加了YARN HA 注意:apache提供的hadoop-2.6.0的安装包是在32位操作系统编译的,因为hadoop依赖一些C++的本地库,所以如果在64位的操作上安装hadoop-2.6.0就需要重新在64操作系统上重新编译 一.重新编译  原因是hadoop-2.6.0.tar.gz安装包是在32位机器上编译的,64位的机器加载本地库.so文件时出错,不影响使用. 解决

通过源码的方式编译hadoop的安装文件

Hadoop2.4.0  重新编译 64  位本地库原创作者:大鹏鸟 时间:2014-07-28环境:虚拟机 VirtualBox,操作系统 64 位 CentOS 6.4下载重新编译需要的软件包apache-ant-1.9.4-bin.tar.gzfindbugs-3.0.0.tar.gzprotobuf-2.5.0.tar.gzapache-maven-3.0.5-bin.tar.gz下载 hadoop2.4.0 的源码包hadoop-2.4.0-src.tar.gz压解源码包[grid@h

Hadoop上小文件存储处理

Hadoop–小文件存储处理 本篇文章项目是Cloudera论坛中无意中看到的,虽然原文写于2009年,但是当前开来Hadoop的小文件存储方案并没有很好的解决方案,所以感觉作者写的很好,也很详细,于是就抽空翻译了.本次翻译主要针对对Hadoop感兴趣和工作中使用到Hadoop的开发人员提供有价值的中文资料,希望能够对大家的工作和学习有所帮助. 由于我英语水平有限,部分翻译虽能了解其大意,但是却没法很好的表达出来,所以有些地方翻译的不是很好.同时也由于能力见识有限,翻译过程中难免出现个人的主观或

基于Hadoop的云盘系统客户端技术难点之三 小文件存储优化

作者:张子良 版权所有,转载请注明出处. 一.概述 首先明确概念,这里的小文件是指小于HDFS系统Block大小的文件(默认64M),如果使用HDFS存储大量的小文件,将会是一场灾难,这取决于HDFS的实现机制和框架结构,每一个存储在HDFS中的文件.目录和块映射为一个对象存储在NameNode服务器内存中,通常占用150个字节.如果有1千万个文件,就需要消耗大约3G的内存空间.如果是10亿个文件呢,简直不可想象.这里需要特别说明的是,每一个小于Block大小的文件,存储是实际占用的存储空间仍然

HadoopArchives指南

Hadoop Archives指南 概述 Hadoop archives是一种归档文件.按照官网的说法,一个Hadoop archive对应一个文件系统目录. 那么为什么需要Hadoop Archives呢?因为hdfs并不擅长存储小文件,文件在hdfs上以block的形式存储,而这些block会在namenode中保存其索引等元数据,这些元数据在namenode启动后被加载至内存.如果存在大量的小文件(文件大小比块还要小),如:一个块128MB,对于一个128MB的文件只需存储一个块(假设为1

test-ubuntu下hadoop-2.6.0测试用例运行失败

问题描述 ubuntu下hadoop-2.6.0测试用例运行失败 Results : Failed tests: TestTableMapping.testClearingCachedMappings:144 expected:</[rack1]> but was:</[default-rack]> TestTableMapping.testTableCaching:79 expected:</[rack1]> but was:</[default-rack]&g