HDFS应用场景分析

本文详细分析了HDFS的使用场景,包括其不适合大量小文件存储的原因及解决方案,高吞吐量的特点,以及读写文件的过程。在读写过程中,HDFS的通信次数影响了其低延迟性能,尤其是对小文件的处理。HDFS为解决小文件问题提供了Hadoop Archive、Sequence File和CombineFileInputFormat等方法。此外,文章还探讨了HDFS的集群管理和多种API支持。
摘要由CSDN通过智能技术生成

原文来自云台博客:http://yuntai.1kapp.com/?p=954        

虽然说之前也对HDFS的应用场景有个大致的认识,但是总感觉不是十分彻底,因此前几天花了点时间进行了整理,现在把它贴出来。

     

1.概况

1) HDFS不适合大量小文件的存储,因NameNode将文件系统的元数据存放在内存中,因此存储的文件数目受限于NameNode的内存大小。HDFS中每个文件、目录、数据块占用150Bytes。如果存放1million的文件至少消耗300MB内存,如果要存放1billion的文件数目的话会超出硬件能力,但是目前HDFS版本引入了Federation这种多NameNode的机制,可以支持NameNode的横向扩展;同时也可以适用HDFS的小文件合并为大文件的机制;

2) HDFS适用于高吞吐量,而不适合低时间延迟的访问(因为写文件可能存在初始化socket,初始化RPC,及其多次通信等)。如果同时存入1million的files,那么HDFS 将花费几个小时的时间;

3)流式读取的方式,不适合多用户写入一个文件(一个文件同时只能被一个客户端写),以及任意位置写入(不支持随机写),支持文件尾部apend操作,或者文件的覆盖操作;

4࿰

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值