hadoop 小文件优化、压缩

本文介绍了Hadoop小文件带来的问题,如NameNode内存压力和MapReduce性能影响,并提出了治理方法,包括文件合并、Hive使用ORC格式、SparkSQL的分区策略等。还探讨了联邦HDFS和归档文件作为其他解决方案。总结中强调了避免NameNode与DataNode混布以及合理规划大数据容量的重要性。
摘要由CSDN通过智能技术生成

1:项目背景

hadoop的小文件管理是一个比较头疼的事情。项目最开始的时候大数据namenode与datanode混布,出现过一次namenode内存不够用,集群所有任务失败。为此单独起一个项目治理小文件,并且迁移datanode,namenode 单独部署。

2:HDFS简介

HDFS是Hadoop核心组成, 是分布式存储服务。由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。基本都是一个NameNode+多个DataNode组成。NameNode是集群的主节点, DataNode是集群的从节点。  Namenode 负责元数据管理,维护文件和目录树,响应Client请求;Datanode负责实际数据存储。

3:HDFS Block 简介

Block是文件块,HDFS中是以Block为单位进行文件的管理的。一个文件可能有多个块,每个块默认是3个副本,这些块分别存储在不同机器上。块与文件之前的映射关系会定时上报Namenode。HDFS中一个块的默认大小是64M,其大小由参数dfs.block.size控制。

4:小文件如何产生以及影响

1:动态分区插入数据,产生大量的小文件,从而导致 map 数量剧增。
2:reduce 数量越多,小文件也越多,reduce 的个数和输出文件个数一致。
3:数据源本身就是大量的小文件。

在运行时,HDFS中每个文件、目录和数据块的元数据信息(大约150

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值