Hadoop是一种分布式数据和计算的框架。它很擅长存储大量的半结构化的数据集。数据可以随机存放,所以一个磁盘的失败并不会带来数据丢失。Hadoop也非常擅长分布式计算——快速地跨多台机器处理大型数据集合。
Hadoop的组成
Common
一组分布式文件系统和通用I/0 的组件与接口(序列化、 Java RPC 和持久化数据结构)。
Avro
一种支持高效、跨语言的 RPC 以及永久存储数据的序列化系统。
MapReduce
分布式数据处理模型和执行环境,运行于大型商用机集群。
HDFS
分布式文件系统,运行于大型商用机集群。
Pig
一种数据流语言和运行环境,用以检索非常大的数据集。 Pig 运行在MapReduce 和 HDFS 的集群上。
Hive
一个分布式、按列存储的数据仓库。 Hive 管理 HDFS 中存储的数据,并提供基于 SQL 的查询语言(由运行时引擎翻译成MapReduce 作业)用以查询数据。
HBase
一个分布式、按列存储数据库。 HBase 使用 HDFS 作为底层存储,同时支持MapReduce 的批量式计算和点查询(随机读取)。
ZooKeeper
一个分布式、可用性高的协调服务。 ZooKeeper 提供分布式锁之类的基本服务用于构建分布式应用。
Sqoop
在数据库和 HDFS 之间高效传输数据的工具。