Hadoop是什么
Hadoop原来是Apache Lucene下的一个子项目,它最初是从Nutch项目中分离出来的专门负责分布式存储以及分布式运算的项目。简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。下面列举hadoop主要的一些特点:
1 扩容能力(Scalable):能可靠地(reliably)存储和处理千兆字节(PB)数据。
2 成本低(Economical):可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。
3 高效率(Efficient):通过分发数据,hadoop可以在数据所在的节点上并行地(parallel)处理它们,这使得处理非常的快速。
4 可靠性(Reliable):hadoop能自动地维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性(fault-tolerent)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(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,主要用于mapred和dfs模块。
org.apache.hadoop.record 定义了针对记录的I/O API类以及一个记录描述语言翻译器,用于简化将记录序列化成语言中性的格式(language-neutral manner)。
org.apache.hadoop.tools 定义了一些通用的工具。
org.apache.hadoop.util 定义了一些公用的API。
下面逐个从源代码中剖析这几个主要模块的框架以及运作原理
分享到:
相关推荐
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 240幅图像
the annotated STL source the annotated STL source
annotated_nginx Annotated Nginx Source(中文) 简介 Nginx源码分析,注解代码,帮助学习Nginx。 1.10增加了动态模块、http2、reuseport。 1.11.x里的stream模块的变动较大,完善了阶段处理。 1.14增加了mirror...
the.annotated.turing
IMM Annotated Database 人脸数据库 全部240副图像
副标题:他的生平、思想及论文解读原作名: The Annotated Turing作者: Charles Petzold图灵机是英国数学家阿兰·麦席森·图灵提出的一种抽象计算模型,本书深入剖析了图灵这篇描述图灵机和可计算性的原始论文《论可...
python-2.5-annotated 记录阅读代码时的评注. bugfix: 修复svnversion产生的版本信息中包含空格导致无法编译的bug. commit 《Python源码剖析》附书代码: code-reading/pythonympx.rar code-reading/pythonympx.tar....
Annotated Lucene 中文版 Lucene源码剖析
mysql3注释 mysql原始注解
The Annotated C++ Reference Manual 一共四个压缩包
Thinking in c++ Annotated Solution Guide 答案
redis-3.0-annotated-unstable.zipredis-3.0-annotated-unstable.zipredis-3.0-annotated-unstable.zipredis-3.0-annotated-unstable.zip
Thinking in Java 4th Edition Annotated Solutions Guide!
The Common Language Infrastructure Annotated Standard
The Annotated C++ Reference Manual.part2
这是《The Thinking in Java Annotated Solution Guide》的所有代码的压缩包。
Dotnet framework standard library annotated reference
The Annotated C++ Reference Manual
The Annotated C++ Reference Manual (共11部分) 传说中的原版巨作,不差页