古时候,人们用牛来拉重物,当一头牛拉不动一根圆木的时候,他们不曾想过培育个头更大的牛。同样,我们也不需要尝试更大的计算机,而是应该开发更多的计算系统。
---------格蕾斯·霍伯
首先在了解Hadoop之前,先来看看以下数据:据IDC估计2006年“数字全球”项目的数据总量为0.18ZB,并且预测到2011年这个数字将达到1.8ZB,为2006年的10倍。1ZB相当于10的21次方字节的数据,或相当于1000EB,1000000PB,或者大家更熟悉的10亿TB的数据,这相当于世界上每个人一个磁盘驱动器的数量级。Hadoop架构作为MapReduce算法的一种开源应用,是应对海量数据的理想工具。
Apache Hadoop项目简介
Core---- 一系列分布式文件系统和通用I/O的组件和接口(序列化、Java RPC和持久化数据结构)
Avro---- 一种提供高效、跨语言PRC的数据序列化系统,持久化数据存储。
MapReduce----分布式数据处理模式和执行环境,运行于大型商用机集群;
HDFS----分布式文件系统,运行于大型商用机集群;
ZooKeeper----一个分布式的、高可用性的协调服务;
Pig---- 一种数据流语言和运行环境,用以检索非常大的数据集,运行在MapReduce和HDFS集群上;
Chukwa------ 分布式数据收集和分析系统;
Hive--- 分布式数据仓库,Hive管理HDFS中存储的数据,并提供基于SQL的查询语言用以查询数据;
Hbase---- -一个分布式的、列存储数据库。HBase使用HDFS作为底层存储,同时支持MapReduce的批量式计算和点查询。
其中MapReduce和HDFS是Hadoop的核心