`

Hadoop HDFS文件存储特点结构

阅读更多
1:什么是HDFS?

HDFS适合做:
1.存储大文件。上G、T甚至P。
2.一次写入,多次读取。并且每次作业都要读取大部分的数据。
3.搭建在普通商业机群上就可以了。虽然会经常宕机,但HDFS有良好的容错机制。

HDFS不适合做:
1.实时数据获取。如果有这个需求可以用HBase。
2.很多小文件。因为namenode要存储HDFS的metadata(比如目录的树状结构,每个文件的文件名、ACL(权限管理)、长度、owner、文件内容存放的位置等等信息),所以HDFS上文件的数目受到namenode内存的限制。

3.并发环境下的写入和修改。
hadoop中存储文件以HDFS形式存储,HDFS拥有自己的设计原则:

1:文件大小以block块的形式存储
2:每个块至少分配到三台DataNode(看集群情况而定)
3:通过副本机制提高可靠度和吞吐量
4:hadoop1.0使用单一的master(NameNode)来协调存储元数据(metadata)
5:最有意思的是hadoop设计者没有设置客户端缓存机制,因为我们对处理数据有足够的信心。

下图为HDFS的系统结构



NameNode:主要存储元数据:例如:文件名,拷贝几份,分别备份到哪里;

过程大概如下:
client要向集群中写入数据,首先询问Master(NameNode),Master告知客户端向哪些DataNode写入数据,在往DataNode写入数据的同时,DataNode与NameNode保持心跳,如果DataNode在执行任务失败,NameNode会通过心跳机制得知DataNode死掉,将重新分配新的任务到其他的DataNode。

2:Block之副本放置策略
第一副本:放置在上传文件DataNode,如果是集群外提交,由NameNode选择一台磁盘不太满,CPU不太忙的节点。
第二副本:放置在于第一副本不同的机架的节点上
第三副本:与第二个副本相同集群的节点
也许根据业务的需要我们需要更多地副本,其他副本随机分配
  
3:Block的存储形式
1:Block默认大小64M,如果上传文件小于64M,那么仍然占用一个命名空间(NameNode metadata),
但是物理存储不会占用64M空间;(这也是hadoop为什么不太适合处理小数据的原因之一)

2:Block大小和副本数由Client端上传文件到HDFS时设置,其中副本数可以变更,Block是不可以再上传后变更的。

转自:http://www.cnblogs.com/zhanghuijunjava/archive/2013/04/22/hadoop-block_hdfs.html

  • 大小: 89.8 KB
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Hadoop文件存储结构

    Hadoop平台中的HDFS文件存储结构

    Hadoop HDFS系统双机热备方案

    名字节点负责整个文件系统目录结构、文档权限和文档的扩展属性连同维护整个文档系统的数据一致性和响应客户端的请求。HDFS能够配置两个名字节点服务器,采用active/passive模式,两个服务器采用共享存储的方式来存放...

    实验二:熟悉常用的HDFS操作

    (1)理解 HDFS在Hadoop体系结构中的角色。(2)熟练使用HDFS操作常用的 Shell命令。(3)熟悉HDFS操作常用的Java API。 A.2.2 实验平台 (1)操作系统:Linux(建议Ubuntu 16.04)。(2) Hadoop版本:2.7.1。 (3)JDK版本:1.7...

    大数据课程的期末项目基于spark、hadoop hdfs、mongodb,使用scala,进行电影推荐+源代码+文档说明

    本次项目基于Python爬虫与Movielens数据集作为数据来源,获取CSV格式的数据,使用Hadoop HDFS作为数据的分布式存储平台,使用MongoDB作为数据结构化、规范化的处理并对运算结果进行存储,使用Spark暴露对外SQL接口,...

    Hadoop HDFS分布式文件系统简介

    HDFS 是 Hadoop 的一个分布式文件系统,是 Hadoop 应用程序使用的主要分布式存储。HDFS 被设计成适合运行在通用硬件上的分布式文件系统。 在 HDFS 体系结构中有两类结点:一类是 NameNode,又叫“名称结点”;另一类...

    云计算与大数据技术-Hadoop分布式大数据系统.ppt

    6.2.2 HDFS文件的基本结构 6.2.3 HDFS的存储过程 6.3 MapReduce编程框架 6.3.1 MapReduce的发展历史 6.3.2 MapReduce的基本工作过程 6.3.3 LISP中的MapReduce 6.3.4 MapReduce的特点 6.4 实现Map/Reduce的...

    一种Hadoop小文件存储和读取的方法.

    HDFS( Hadoop Distributed File System) 凭借其高...实验结果表明,HIFM 方法能够有效提高小文件存储和读取效率,显著降低 NameNode 和 DataNode 的内存开销,适合应用在有一定目录结构的海量小文件存储的应用场合。

    大数据云计算技术系列 Hadoop之Hbase从入门到精通(共243页).pdf

    HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来...

    Hadoop 培训课程(2)HDFS

    Hadoop 培训课程(2)HDFS 分布式文件系统与HDFS HDFS体系结构与基本概念*** HDFS的shell操作*** java接口及常用api*** ---------------------------加深拓展---------------------- RPC调用** HDFS的分布式存储架构的...

    浪潮简介HDFS

    HDFS是Hadoop Distributed File System的简称,既然是分布式文件系统,首先它必须是一个文件系统,那么在hadoop上面的文件系统会不会也像一般的文件系统一样由目录结构和一组文件构成呢?!分布式是不是就是将文件...

    一、Hadoop简介 和 Hadoop结构介绍

    1、Hadoop 是什么 Hadoop是现阶段数据开发的基础,Hadoop通常是指一个更广泛的概念—-Hadoop生态圈(基于或关于Hadoop的大数据开发的各种软件...HDFS :分布式文件储存系统 Yarn :资源管理和调度系统 MapReduce :分

    HDFS Comics HDFS 漫画

    HDFS是Hadoop分布式计算的存储基础。HDFS具有高容错性,可以部署在通用硬件设备上,适合数据密集型应用,并且提供对数据读写的高吞 吐量。HDFS能 够提供对数据的可扩展访问,通过简单地往集群里添加节点就可以解决...

    HDFS详解和配置文件

    HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)是Hadoop中提供的一套用于进行分布式存储的文件系统。 HDFS本身是Doug Cutting根据Google的论文(简称为GFS)来实现的,因此早期的HDFS和GFS除了实现语言...

    Hadoop之HBase简介

    HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来...

    详解Hadoop核心架构HDFS+MapReduce+Hbase+Hive

    通过对Hadoop分布式计算平台最...整个Hadoop的体系结构主要是通过HDFS来实现对分布式存储的底层支持,并通过MR来实现对分布式并行任务处理的程序支持。HDFS采用主从(Master/Slave)结构模型,一个HDFS集群是由一个Nam

    Hadoop从入门到上手企业开发

    039 HDFS文件系统读写流程及HDFS API两种方式读取文件 040 详解HDFS API之FileSystem方式基本操作二 041 讲解分析Configuration和FileSystem类源代码 042 引出HDFS实际应用场景之合并文件和使用getmerge命令并查看...

    hdfs源码.zip

    5.1.4 HDFS文件与操作方法 451 5.1.5 HDFS文件读写方法 452 5.2 文件读操作与输入流 452 5.2.1 打开文件 452 5.2.2 读操作――DFSInputStream实现 461 5.3 文件短路读操作 481 5.3.1 短路读共享内存 482...

    Hbase与zookeeper文档

    HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统; Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来...

    Hadoop权威指南 中文版

     ·使用hadoop分布式文件系统(hdfs)来存储海量数据集,  通过mapreduce对这些数据集运行分布式计算  ·熟悉hadoop的数据和ilo构件,用于压缩、数据集成、序列化和持久处理  ·洞悉编~mapreduce实际应用时的常见...

    HDFS集群搭建

    HDFS是Hadoop分布式计算的存储基础。HDFS具有高容错性,可以部署在通用硬件设备上,适合数据密集型应用,并且提供对数据读写的高吞 吐量。HDFS能 够提供对数据的可扩展访问,通过简单地往集群里添加节点就可以解决...

Global site tag (gtag.js) - Google Analytics