hadoop包的总体结构
Hadoop还实现了MapReduce分布式计算模型。MapReduce将应用程序的工作分解成很多小的工作小块(small blocks of work)。HDFS为了做到可靠性(reliability)创建了多份数据块(data blocks)的复制(replicas),并将它们放置在服务器群的计算节点中(compute nodes),MapReduce就可以在它们所在的节点上处理这些数据了。
如下图所示:
![](http://hadoop.apache.org/core/images/architecture.gif)
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。