`

some features of hadoop-0.20.2

阅读更多

some hdfs features of hadoop-0.20.2

高度容错性
    a.块复制时不需要全部复制成功才算成功,它有个阀值控制,只要达到就算成功。之后NN会
检查是否有不满足replication num要求的blocks并进行处理。(相信这只是其中之一)
    b.使用skipping模式,更灵活控制。
   
高可靠性
    a.采用redundancy机制,而且分布在不同的racks上。
    b.很多情况下,出现异常时并非立即退出,而是采用retry机制(因为通常异常来源于rpc通信),同样有次数控制。

自动修正能力
    a.使用推测式执行,出现缓慢的tasks时就另起一个并行执行(其中之一)
    ...
   
高吞吐量
    a.并行处理数据读取问题,并且有‘就近’原则处理任务,即移动计算。
    b.NN,JT只处理基本,核心的分配任务,高度问题,基本的读写交互直接由client与DNs直接处理,减轻masters压力。

 

以下部分是hdfs_desing.html的部分描述,并作了些说明:
snapshot 快照
快照支持某一特定时刻的数据的复制备份。利用快照,可以让HDFS在数据损坏时恢复到过去一个已知正确的时间点。(形如os里面的恢复功能)
==HDFS目前还不支持快照功能,但计划在将来的版本进行支持。

cluster balance集群均衡
HDFS的架构支持数据均衡策略。如果某个Datanode节点上的空闲空间低于特定的临界点,按照均衡策略系统就会自动地将数据从这个Datanode 移动到其他空闲的Datanode。当对某个文件的请求突然增加,那么也可能启动一个计划创建该文件新的副本,并且同时重新平衡集群中的其他数据。
==这些均衡策略目前还没有实现。

 文件的删除和恢复
当用户或应用程序删除某个文件时,这个文件并没有立刻从HDFS中删除。实际上,HDFS会将这个文件重命名转移到/trash目录。只要文件还在/trash目录中,该文件就可以被迅速地恢复。文件在/trash中保存的时间是可配置的,当超过这个时间时,Namenode就会将该文件从名字空间中删除。删除文件会使得该文件相关的数据块被释放。注意,从用户删除文件到HDFS空闲空间的增加之间会有一定时间的延迟。
只要被删除的文件还在/trash目录中,用户就可以恢复这个文件。如果用户想恢复被删除的文件,他/她可以浏览/trash目录找回该文件。/trash目录仅仅保存被删除文件的最后副本。/trash目录与其他的目录没有什么区别,除了一点:在该目录上HDFS会应用一个特殊策略来自动删除文件。目前的默认策略是删除/trash中保留时间超过6小时的文件。将来,这个策略可以通过一个被良好定义的接口配置。
TOCONF 通过命令行删除的文件可以在此恢复吗?

Staging(分段运输)
客户端创建文件的请求其实并没有立即发送给Namenode,事实上,在刚开始阶段HDFS客户端会先将文件数据缓存到本地的一个临时文件。应用程序的写操作被透明地重定向到这个临时文件。当这个临时文件累积的数据量超过一个数据块的大小,客户端才会联系Namenode。Namenode将文件名插入文件系统的层次结构中,并且分配一个数据块给它。然后返回Datanode的标识符和目标数据块给客户端。接着客户端将这块数据从本地临时文件上传到指定的 Datanode上。当文件关闭时,在临时文件中剩余的没有上传的数据也会传输到指定的Datanode上。然后客户端告诉Namenode文件已经关闭。此时Namenode才将文件创建操作提交到日志里进行存储。如果Namenode在文件关闭前宕机了,则该文件将丢失。
上述方法是对在HDFS上运行的目标应用进行认真考虑后得到的结果。这些应用需要进行文件的流式写入。如果不采用客户端缓存,由于网络速度和网络堵塞会对吞估量造成比较大的影响。这种方法并不是没有先例的,早期的文件系统,比如AFS,就用客户端缓存来提高性能。为了达到更高的数据上传效率,已经放松了POSIX标准的要求。
TOCONF 没注意到此功能,因为之前看的是copyFromLocal,不属于‘写’操作
ref:当客户端向HDFS文件写入数据的时候,一开始是写到本地临时文件中。假设该文件的副本系数设置为3,当本地临时文件累积到一个数据块的大小时,客户端会从Namenode获取一个Datanode列表用于存放副本。

 

流式的数据访问

运行在HDFS之上的应用程序必须流式地访问它们的数据集,它不是典型的运行在常规的文件系统之上的常规程序。HDFS是设计成适合批量处理的,而 不是用户交互式的。重点是在数据吞吐量,而不是数据访问的反应时间,POSIX强制的很多硬性需求对很多应用不是必须的,去掉POSIX的很多关键地方的 语义以获得更好的数据吞吐率。

运行在HDFS之上的程序有很大量的数据集。这意味着典型的HDFS文件是GB到TB的大小,所以,HDFS是很好地支持大文件。它应该提供很高的聚合数据带宽,应该一个集群中支持数百个节点,还应该支持一个集群中千万的文件。

 

分享到:
评论

相关推荐

    hadoop-0.20.2-CDH3B4.tar.gz下载

    本文将围绕"Hadoop-0.20.2-CDH3B4.tar.gz"这一压缩包,深入探讨解压后的内容及其在sqoop-1.2.0环境中的应用。 首先,"hadoop-0.20.2-CDH3B4.tar.gz"是一个针对CDH3(Cloudera Distribution Including Apache Hadoop...

    hadoop-0.20.2安装手册

    ### Hadoop-0.20.2安装与配置详解 #### 一、Hadoop-0.20.2概述 Hadoop是一款支持大数据处理的开源软件框架,它能够高效地处理PB级别的数据集。Hadoop-0.20.2版本作为早期的一个稳定版本,在很多场景中仍然具有重要...

    hadoop-0.20.2-eclipse-plugin.jar

    首先,"hadoop-0.20.2-eclipse-plugin.jar"是Hadoop 0.20.2版本的Eclipse插件文件,它的主要作用是在Eclipse环境中为Hadoop开发提供支持。这个插件使得开发者可以在Eclipse内部编写、调试和运行Hadoop MapReduce程序...

    Linux环境下hadoop-0.20.2资源下载

    Hadoop-0.20.2是该框架的一个较早版本,尽管它相对较旧,但因其稳定性及许多初学者教程中的引用,它仍然是学习Hadoop基础知识的重要参考。这个版本包含了Hadoop的核心组件,如HDFS(Hadoop分布式文件系统)和...

    hadoop-core-0.20.2.jar.zip

    《Hadoop核心库:hadoop-core-0.20.2.jar在Eclipse环境中的应用与解析》 在大数据处理领域,Hadoop是不可或缺的重要工具,它的核心组件hadoop-core为分布式计算提供了基础架构。本文将围绕“hadoop-core-0.20.2.jar...

    基于hadoop-0.20.2的FTP服务器

    基于apache发布的FTPserver实现的基于hadoop-0.20.2的FTP服务器,可以直接使用,但要进行hadoop网址的基本配置,另外只有一个匿名用户,除了几个我设定的系统文件夹不能删除外,基本具有所有权限。当然,您可以在此...

    hadoop-core-0.20.2 源码 hadoop-2.5.1-src.tar.gz 源码 hadoop 源码

    这里我们将深入探讨"Hadoop-core-0.20.2"和"hadoop-2.5.1-src"的源码,以便更好地理解Hadoop的工作原理和内部机制。 **Hadoop Core源码分析** Hadoop-core-0.20.2是Hadoop早期版本的核心组件,它包含了Hadoop的...

    hadoop-core-0.20.2-cdh3u3.jar

    export CLASSPATH="$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:${HADOOP_HOME}/lib/commons-logging-1.0.4.jar:${HADOOP_HOME}/lib/guava-r09-jarjar.jar:${HADOOP_HOME}/hadoop-core-0.20.2-cdh3u3.jar:/usr/...

    hadoop-0.20.2帮助文档

    hadoop-0.20.2的chm帮助文档

    hadoop-0.20.2-eclipse-plugin 插件

    Hadoop-0.20.2-Eclipse-Plugin是一个经典的插件,专为Eclipse集成开发环境(IDE)设计,旨在提升Hadoop开发者的工作效率。Hadoop是Apache软件基金会的一个开源项目,它提供了分布式文件系统(HDFS)和MapReduce编程...

    在Ubunt-11.04上布署hadoop-0.20.2集群云平台

    ### 在Ubuntu 11.04上部署Hadoop-0.20.2集群云平台的知识点 #### 一、前言与环境准备 - **背景介绍**:本实验指导旨在帮助用户在Ubuntu 11.04操作系统上成功部署Hadoop-0.20.2集群云平台。该文档由厦门大学软件...

    hadoop-0.20.2.tar.gz

    Hadoop安装包,适用于linux,内含eclipse插件.

    hadoop-0.20.2-cdh3u6.rar

    Hadoop-0.20.2-cdh3u6是Cloudera公司基于Apache Hadoop的发行版CDH3的更新版本,它针对企业级应用进行了优化,包含了多个关键改进和修复。 CDH(Cloudera Distribution Including Apache Hadoop)是Cloudera提供的...

    Hadoop-0.20.2

    《深入理解Hadoop-0.20.2:构建分布式大数据处理系统》 Hadoop-0.20.2是Apache Hadoop项目的一个重要版本,它为大数据处理提供了可靠的、可扩展的基础架构。Hadoop是一个开源框架,主要用于存储和处理大规模数据集...

    hadoop-0.20.2.part1.rar

    hadoop-0.20.2.part1.rar

    hadoop-0.20.2.part2.rar

    hadoop-0.20.2.part2.rar

    单节点hadoop-0.20.2

    本资源"单节点hadoop-0.20.2"是一个针对初学者或快速测试环境的配置,它简化了Hadoop的安装和设置过程。这个压缩包包含了一个预配置的Hadoop环境,使得用户无需从头开始配置XML文件,只需解压即可运行,大大降低了...

    hadoop-0.20.2(已经修改了conf文件中的默认配置)

    这个压缩包文件`hadoop-0.20.2`包含了Hadoop的0.20.2版本,这是一个早期但仍然广泛使用的版本,尤其对于学习和理解Hadoop的基本工作原理非常有帮助。 在`hadoop-0.20.2`中,`conf`目录下的配置文件已经被修改,这是...

Global site tag (gtag.js) - Google Analytics