10 Archive档案的使用

一、Archive档案的使用

 

HDFS并不擅长存储小文件,因为每个文件最少一个block,每个block的元数据都会在NameNode占用内存,如果存在大量的小文件,

它们会吃掉NameNode节点的大量内存。Hadoop Archives可以有效的处理以上问题,它可以把多个文件归档成为一个文件,

归档成一个文件后还可以透明的访问每一个文件。

 

1.1、如何创建Archive

 

语法Usage: hadoop archive -archiveName name -p <parent> <src>* <dest>

1.其中-archiveName是指要创建的存档的名称。比如test.har

2.archive的名字的扩展名应该是*.har

3.-p参数指定文件存档文件(src)的相对路径。

 

#示例.将config2 下的所有内容归档保存到 outputdir 文件夹下

hadoop archive -archiveName config2.har -p /config2 /outputdir

 


 

1.2、如何查看归档文件的内容?

#1.直接在web browser 50070端口web查看

http://node1:50070/explorer.html#/outputdir/config2.har

#2.通过shell 命令进行查看

hadoop fs -ls /outputdir/config2.har

#3.查看 har 文件中原有的文件列表

#格式

#har://scheme-hostname:port/archivepath/fileinarchive  

hadoop fs -ls har://hdfs-node1:8020/outputdir/config2.har

#4.查看 har 文件中某一个文件的内容

hadoop fs -cat har://hdfs-node1:8020/outputdir/config2.har/core-site.xml

#5.将归档的文件解压出来

#5.1 创建一个文件夹 config3

hdfs dfs -mkdir -p /config3

#5.2 将归档的文件解压到config3中

hadoop fs -cp har://hdfs-node1:8020/outputdir/config2.har/* /config3


二、Archive注意事项

 

  1. Hadoop archives是特殊的档案格式。一个Hadoop archive对应一个文件系统目录。Hadoop archive的扩展名是*.har;

  2. 创建archives本质是运行一个Map/Reduce任务,所以应该在Hadoop集群上运行创建档案的命令,要提前启动Yarn集群;

  3. 创建archive文件要消耗和原文件一样多的硬盘空间;

  4. archive文件不支持压缩,尽管archive文件看起来像已经被压缩过;

  5. archive文件一旦创建就无法改变,要修改的话,需要创建新的archive文件。事实上,一般不会再对存档后的文件进行修改,因为它们是定期存档的,比如每周或每日;

  6. 当创建archive时,源文件不会被更改或删除;

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值