Hadoop HDFS详解(2)

HDFS的主要特性

  HDFS是基于流数据模式访问和处理超大文件的需求而开发的。HDFS主要特点 概括为以下几点:

1.处理超大文件。超大文件通常是指数百MB、甚至数百TB大小的文件。

2.检测和快速应对硬件故障。一般的HDFS系统是由数百台甚至上千台服务器组成,因此,故障检测和自动恢复是HDFS的一个设计目标。

3.流式数据访问。HDFS的设计建立在“一次写入,多次读取”的基础上。HDFS处理的数据规模都比较大,一般都是批处理,所以它注重的是数据的吞吐量,而不是数据的访问速度。

4.简化的一致性模型。大部分的HDFS程序操作文件时需要一次写入,多次读取。在HDFS中,一个文件一旦经过创建、写入、关闭后,一般就不需要修改了。这样简单的一致性模型,有助于提高吞吐量的数据访问模型。

而HDFS不适用于如下应用:

1.低延迟数据访问。因为HDFS关注的是数据的吞吐量,而不是数据的访问速度,所以HDFS不适用于要求低延迟的数据访问应用。

2.大量的小文件。HDFS是通过将数据分布在数据节点,并将文件的元数据保存在名字节点上来支持超大文件存储的。名字节点的内存大小决定了HDFS系统可保存的文件数量,大量的小文件会影响到名字节点的性能。

3.多用户写入修改文件。HDFS中的文件只能有一个写入者,而且写操作总是在文件末。它不支持多个写入者,也不支持在数据写入后,在文件的任意位置进行修改。

时间: 2024-08-13 23:02:17

Hadoop HDFS详解(2)的相关文章

Hadoop HDFS详解(1)

HDFS是hadoop项目的核心子项目,是Hadoop主要的一个分布式文件系统.实际上,hadoop中有一个文件系统抽象,它提供了文件系统实现的各类接口,HDFS只是这个抽象文件系统的一个实例. 文件系统 URI JAVA实现 定义 Local file fs.LocalFileSystem 本地文件系统 HDFS hdfs hdfs.DistrubutedFileSystem Hadoop的分布式文件系统 HFTP hftp hdfs.HtfpFileSystem 通过HTTP方式以只读的方式

HDFS详解(3)——HDFS文件结构

HDFS中的NameNode.DataNode.Secondery NameNode是如何在磁盘上组织和存储持久化数据的?下面将分别进行介绍. 注意,这里主要介绍的是Hadoop 2.0以前的版本,Hadoop 2.0以后版本文件结构稍微有一些变化,因为目前我们还没有使用hadoop 2.0,所以后面只是稍微说一下hadoop 2.0中NameNode目录结构,其他有兴趣的可以自己再去深入的研究. NameNode的文件结构 最新格式化的NameNode会创建以下目录结构: ${dfs.name

【转】Hadoop安全模式详解及配置

原文链接 http://www.iteblog.com/archives/977 在<Hadoop 1.x中fsimage和edits合并实现>文章中提到,Hadoop的NameNode在重启的时候,将会进入到安全模式.而在安全模式,HDFS只支持访问元数据的操作才会返回成功,其他的操作诸如创建.删除文件等操作都会导致失败. NameNode在重启的时候,DataNode需要向NameNode发送块的信息,NameNode只有获取到整个文件系统中有99.9%(可以配置的)的块满足最小副本才会自

Hadoop Pipeline详解[摘抄]

最近使用公司内部的一个框架写map  reduce发现没有封装hadoop streaming这些东西,查了下pipeline相关的东西 Hadoop Pipeline详解 20. Aug / hadoop / 1 Comment 一.说明Hadoop 2.x相比较于1.x有了较大的改变,像MapReduce层面架构以及代码基本上是完全重写的,在HDFS层面加入了HA,Federation等特性,代码更加层次化和易读,同时加入的PB初期可能给阅读带来障碍,熟悉之后就没有太大问题了.Pipelin

Hadoop DistributedCache详解

DistributedCache是Hadoop提供的文件缓存工具,它能够自动将指定的文件分发到各个节点上,缓存到本地,供用户程序读取使用.它具有以下几个特点:缓存的文件是只读的,修改这些文件内容没有意义:用户可以调整文件可见范围(比如只能用户自己使用,所有用户都可以使用等),进而防止重复拷贝现象:按需拷贝,文件是通过HDFS作为共享数据中心分发到各节点的,且只发给任务被调度到的节点.本文将介绍DistributedCache在Hadoop 1.0和2.0中的使用方法及实现原理. Hadoop D

深入理解Java中的流---结合Hadoop进行详解

在JavaSe的基础课程当中,可以说流是一个非常重要的概念,并且在Hadoop中得到了广泛的应用,本篇博客将围绕流进行深入的详解. (一)JavaSe中流的相关概念 1.流的定义 ①在Java当中,若一个类专门用于数据传输,则这个类称为流 ②流就是程序和设备之间嫁接以来的一根用于数据传输的管道,这个设备可以是本地硬盘,可以是内存条,也可以是网络所关联的另外一台计算机等等,其中不同管道上有不同的按钮,按下不同的按钮相当于调用不同的方法,这根带按钮的用于数据传输的管道就是流,即流就是一根管道 ③流一

Hadoop WordCount详解(二)

Hadoop集群WordCount详解(二) 源代码程序 WordCount处理过程 具体代码讲解 1.源代码程序 package org.apache.hadoop.examples; import java.io.IOException; import java.util.StringTokenizer; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.examples.WordCount.Token

安装hadoop过程详解

wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz  hadoop的下载文件 安装jdk http://www.linuxidc.com/Linux/2014-08/105906.htm 安装hadoop 进入 /root/zby/hadoop/hadoop-1.2.1/conf 配置hadoop,主要是配置core-site.xml,hdfs-site.xml,mapred-si

hadoop框架详解

Hadoop学习随笔(参考:http://blog.csdn.net/mobanchengshuang/article/details/78786652) Hadoop项目主要包括以下四个模块 ◆ Hadoop Common: 为其他Hadoop模块提供基础设施 ◆ Hadoop HDFS: 一个高可靠.高吞吐量的分布式文件系统 ◆ Hadoop MapReduce: 一个分布式的离线并行计算框架 ◆ Hadoop YARN: 一个新的MapReduce框架,任务调度与资源管理 Apache H