- 开源
Apache Hadoop 是一款支持数据密集型分布式应用并以 Apache 2.0 许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。
- 源于 MapReduce
Hadoop 是根据 Google 公司发表的 MapReduce 和 Google 档案系统的论文自行实作而成。
- 提供可靠性和数据移动
Hadoop 框架透明地为应用提供可靠性和数据移动。它实现了名为 MapReduce 的编程范式:应用程序被分割成许多小部分,而每个部分都能在集群中的任意节点上执行或重新执行。
- 分布式文件系统
此外,Hadoop 还提供了分布式文件系统,用以存储所有计算节点的数据,这为整个集群带来了非常高的带宽。MapReduce 和分布式文件系统的设计,使得整个框架能够自动处理节点故障。它使应用程序与成千上万的独立计算的电脑和 PB 级的数据。
Hadoop 由 Apache Software Foundation 公司于 2005 年秋天作为 Lucene 的子项目 Nutch 的一部分正式引入。它受到最先由 Google Lab 开发的 Map/Reduce 和 Google File System(GFS) 的启发。
2006 年 3 月份,Map/Reduce 和 Nutch Distributed File System (NDFS) 分别被纳入称为 Hadoop 的项目中。
Hadoop 是最受欢迎的在 Internet 上对搜索关键字进行内容分类的工具,但它也可以解决许多要求极大伸缩性的问题。例如,如果您要 grep 一个 10TB 的巨型文件,会出现什么情况?在传统的系统上,这将需要很长的时间。但是 Hadoop 在设计时就考虑到这些问题,采用并行执行机制,因此能大大提高效率。
目前有很多公司开始提供基于 Hadoop 的商业软件、支持、服务以及培训。
- Cloudera 是一家美国的企业软件公司,该公司在 2008 年开始提供基于 Hadoop 的软件和服务。
- GoGrid 是一家云计算基础设施公司,在 2012 年,该公司与 Cloudera 合作加速了企业采纳基于 Hadoop 应用的步伐。
- Dataguise 公司是一家数据安全公司,同样在 2012 年该公司推出了一款针对 Hadoop 的数据保护和风险评估。
- Hadoop Common
在 0.20 及以前的版本中,包含 HDFS、MapReduce 和其他项目公共内容,从 0.21 开始 HDFS 和 MapReduce 被分离为独立的子项目,其余内容为 Hadoop Common。
- HDFS
HDFS 是指 Hadoop 分布式文件系统(Distributed File System)-HDFS(Hadoop Distributed File System)
- MapReduce
MapReduce 是一个并行计算框架,0.20 前使用 org.apache.hadoop.mapred
旧接口,0.20 版本开始引入 org.apache.hadoop.mapreduce
的新 API。
- Apache HBase
HBase 是一个分布式 NoSQL 列数据库,类似谷歌公司的 BigTable。
- Apache Hive
Hive 是构建于 Hadoop 之上的数据仓库,通过一种类 SQL 语言 HiveQL 为用户提供数据的归纳、查询和分析等功能。
- Apache Mahout
机器学习算法软件包。
- Apache Sqoop
结构化数据(如关系数据库)与 Apache Hadoop 之间的数据转换工具。
- Apache ZooKeeper
分布式锁设施,提供类似 Google Chubby 的功能。
- Apache Avro
新的数据序列化格式与传输工具,将逐步取代 Hadoop 原有的 IPC 机制。
hadoop生态圈
Hadoop 优点
- 高可靠性
Hadoop 按位存储和处理数据的能力值得人们信赖。
- 高扩展性
Hadoop 是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
- 高效性
Hadoop 能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
- 高容错性
Hadoop 能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
- 低成本
与一体机、商用数据仓库以及 QlikView、Yonghong Z-Suite 等数据集市相比,hadoop 是开源的,项目的软件成本因此会大大降低。
美国著名科技博客 GigaOM 的专栏作家 Derrick Harris 在一篇文章中总结了 10 个 Hadoop 的应用场景:
- 在线旅游
全球 80% 的在线旅游网站都是在使用 Cloudera 公司提供的 Hadoop 发行版,其中 SearchBI 网站曾经报道过的 Expedia 也在其中。
- 移动数据
Cloudera 运营总监称,美国有 70% 的智能手机数据服务背后都是由 Hadoop 来支撑的,也就是说,包括数据的存储以及无线运营商的数据处理等,都是在利用 Hadoop 技术。
- 电子商务
这一场景应该是非常确定的,eBay 就是最大的实践者之一。国内的电商在 Hadoop 技术上也是储备颇为雄厚的。
- 能源开采
美国 Chevron 公司是全美第二大石油公司,他们的 IT 部门主管介绍了 Chevron 使用 Hadoop 的经验,他们利用 Hadoop 进行数据的收集和处理,其中这些数据是海洋的地震数据,以便于他们找到油矿的位置。