`
gaoyuntao2005
  • 浏览: 312336 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Annotated Hadoop: 第一节 Hadoop是什么

阅读更多

Hadoop是什么

Hadoop原来是Apache Lucene下的一个子项目,它最初是从Nutch项目中分离出来的专门负责分布式存储以及分布式运算的项目。简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。下面列举hadoop主要的一些特点:

 

1         扩容能力(Scalable:能可靠地(reliably)存储和处理千兆字节(PB)数据。

2         成本低(Economical:可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。

3         高效率(Efficient:通过分发数据,hadoop可以在数据所在的节点上并行地(parallel)处理它们,这使得处理非常的快速。

4         可靠性(Reliablehadoop能自动地维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。

 

Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFSHDFS有着高容错性(fault-tolerent)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relaxPOSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。

 

Hadoop还实现了MapReduce分布式计算模型。MapReduce将应用程序的工作分解成很多小的工作小块(small blocks of work)HDFS为了做到可靠性(reliability)创建了多份数据块(data blocks)的复制(replicas),并将它们放置在服务器群的计算节点中(compute nodes),MapReduce就可以在它们所在的节点上处理这些数据了。

如下图所示:

 

Hadoop API被分成(divide into)如下几种主要的包(package

 

          org.apache.hadoop.conf     定义了系统参数的配置文件处理API

          org.apache.hadoop.fs          定义了抽象的文件系统API

          org.apache.hadoop.dfs       Hadoop分布式文件系统(HDFS)模块的实现。

          org.apache.hadoop.io         定义了通用的I/O API,用于针对网络,数据库,文件等数据对象做读写操作。

          org.apache.hadoop.ipc       用于网络服务端和客户端的工具,封装了网络异步I/O的基础模块。

          org.apache.hadoop.mapred         Hadoop分布式计算系统(MapReduce)模块的实现,包括任务的分发调度等。

          org.apache.hadoop.metrics        定义了用于性能统计信息的API,主要用于mapreddfs模块。

          org.apache.hadoop.record 定义了针对记录的I/O API类以及一个记录描述语言翻译器,用于简化将记录序列化成语言中性的格式(language-neutral manner)。

          org.apache.hadoop.tools    定义了一些通用的工具。

          org.apache.hadoop.util       定义了一些公用的API

 

下面逐个从源代码中剖析这几个主要模块的框架以及运作原理

分享到:
评论

相关推荐

    The Annotated Turing

    The Annotated Turing: A Guided Tour through Alan Turing's Historic Paper on Computability and the Turing Machine Published by Wiley Publishing, Inc. 10475 Crosspoint Boulevard Indianapolis, IN ...

    人脸数据库 Annotated Database

    在人脸识别领域,数据库的建立是第一步。这些图像通常包含各种人脸的不同角度、表情、光照条件、遮挡情况等,以模拟真实世界中的复杂场景。"Annotated Database"提供的详细标注使开发者能够训练机器学习模型来识别和...

    the.annotated.turing

    《The Annotated Turing》是由Charles Petzold撰写的一本经典计算机科学著作,它深入解析了艾伦·图灵在1936年提出的图灵机模型,并以此为基础探讨了计算理论的基础。这本书对于理解计算机科学的基本原理至关重要,...

    IMM Annotated Database 人脸数据库

    IMM Annotated Database是一个专为人脸识别研究而设计的数据库,包含240幅精心标注的人脸图像。这个数据库在人脸识别领域具有重要的价值,因为它提供了一组标准化、有标记的图像,可供研究人员进行算法开发、测试和...

    mysql3-annotated:mysql原始注解

    综上,"mysql3-annotated:mysql原始注解"的项目可能是一个对MySQL 3版本的注释解析或文档整理,旨在帮助开发者更好地理解和利用这个开源数据库系统,同时提供对SQL语句的注解示例,以提高代码可读性和维护性。

    annotated_nginx:Annotated Nginx Source(中文)

    annotated_nginx Annotated Nginx Source(中文) 简介 Nginx源码分析,注解代码,帮助学习Nginx。 1.10增加了动态模块、http2、reuseport。 1.11.x里的stream模块的变动较大,完善了阶段处理。 1.14增加了mirror...

    Thinking in c++ Annotated Solution Guide 答案

    《Thinking in C++ Annotated Solution Guide》是一本关于C++编程语言的重要参考资料,它提供了对Bruce Eckel的畅销书《Thinking in C++》的详细解答。这本书深入浅出地介绍了C++的基础概念、语法和高级特性,是学习...

    C# Annotated Standard C#标准注解

    《C# Annotated Standard》是C#编程领域的一本权威参考书籍,由C#语言的设计者之一撰写。这本书深入解析了C#语言的标准,通过详尽的注解和解释,帮助开发者更深入地理解C#的语法、特性以及设计理念。 在C#语言中,...

    The Annotated Turing 图灵的秘密(英文扫描版)

    副标题:他的生平、思想及论文解读原作名: The Annotated Turing作者: Charles Petzold图灵机是英国数学家阿兰·麦席森·图灵提出的一种抽象计算模型,本书深入剖析了图灵这篇描述图灵机和可计算性的原始论文《论可...

    The Thinking in Java Annotated Solution Guide

    《Thinking in Java Annotated Solution Guide》是一本针对Bruce Eckel的畅销书《Thinking in Java》的解答指南,主要针对第四版的内容。这本书是Java编程学习者的宝贵资源,它提供了书中练习题的详尽解答,帮助读者...

    Thinking in Java 4th Edition Annotated Solutions Guide

    首先,文件标题《Thinking in Java 4th Edition Annotated Solutions Guide》指出了这是一本关于《Thinking in Java》第四版的附有注解的解决方案指南。《Thinking in Java》是由Bruce Eckel编写的Java编程书籍,...

    python-2.5-annotated:python-2.5-注释

    python-2.5-annotated 记录阅读代码时的评注. bugfix: 修复svnversion产生的版本信息中包含空格导致无法编译的bug. commit 《Python源码剖析》附书代码: code-reading/pythonympx.rar code-reading/pythonympx.tar....

    Thinking in Java 4th Edition + Annotated Solution Guide (代码)英文文字版 带书签 有答案

    "Thinking in Java 4th Edition + Annotated Solution Guide (代码)英文文字版 带书签 有答案" 指的是该资源包含了《Thinking in Java》第四版的英文文本,同时附带有注解的解决方案指南,这将有助于读者在遇到...

    The Annotated C++ Reference Manual

    ### 1. μC++ Extensions(μC++ 扩展) #### 1.1 设计要求 这部分阐述了μC++设计背后的基本原则和目标。μC++旨在提供一套强大的、易于使用的实时编程机制,它在C++的基础上添加了一系列针对并发和实时系统的新...

    The Annotated C++ Reference Manual(ARM)-Ch15

    2. **查找 catch 块**:程序会从当前`try`块的结束位置向上回溯,寻找第一个能够匹配该异常类型的`catch`块。 3. **执行 catch 块**:一旦找到匹配的`catch`块,程序就进入该`catch`块执行相应的异常处理代码。 4. *...

    The Annotated C++ Reference Manual part3

    The Annotated C++ Reference Manual 一共四个压缩包

    The Annotated C++ Reference Manual(ARM)-Ch09

    本节将基于给定的文件信息——标题、描述、标签以及部分内容来深入探讨与第九章“ARM Classes”相关的知识点。 ### 一、ARM及其意义 《The Annotated C++ Reference Manual》这本书由Bjarne Stroustrup撰写,旨在...

    Thinking_in_C++Annotated+Solution+Guide+for_Vol1

    "Annotated Solution Guide for Vol1"则是针对第一卷的习题解答,提供了详细的解题思路和步骤,帮助读者巩固所学知识。 C++编程思想是现代软件开发中的核心技能之一,它是一种静态类型、编译式、通用的、大小写敏感...

Global site tag (gtag.js) - Google Analytics