Hadoop概述

 

 Hadoop 简介

  • 开源

Apache Hadoop 是一款支持数据密集型分布式应用并以 Apache 2.0 许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。

  • 源于 MapReduce

Hadoop 是根据 Google 公司发表的 MapReduce 和 Google 档案系统的论文自行实作而成。

  • 提供可靠性和数据移动

Hadoop 框架透明地为应用提供可靠性和数据移动。它实现了名为 MapReduce 的编程范式:应用程序被分割成许多小部分,而每个部分都能在集群中的任意节点上执行或重新执行。

  • 分布式文件系统

此外,Hadoop 还提供了分布式文件系统,用以存储所有计算节点的数据,这为整个集群带来了非常高的带宽。MapReduce 和分布式文件系统的设计,使得整个框架能够自动处理节点故障。它使应用程序与成千上万的独立计算的电脑和 PB 级的数据。

Hadoop 历史

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 的商业软件、支持、服务以及培训。

  1. Cloudera 是一家美国的企业软件公司,该公司在 2008 年开始提供基于 Hadoop 的软件和服务。
  2. GoGrid 是一家云计算基础设施公司,在 2012 年,该公司与 Cloudera 合作加速了企业采纳基于 Hadoop 应用的步伐。
  3. Dataguise 公司是一家数据安全公司,同样在 2012 年该公司推出了一款针对 Hadoop 的数据保护和风险评估。

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 是开源的,项目的软件成本因此会大大降低。

 Hadoop 应用场景

美国著名科技博客 GigaOM 的专栏作家 Derrick Harris 在一篇文章中总结了 10 个 Hadoop 的应用场景:

  • 在线旅游

全球 80% 的在线旅游网站都是在使用 Cloudera 公司提供的 Hadoop 发行版,其中 SearchBI 网站曾经报道过的 Expedia 也在其中。

  • 移动数据

Cloudera 运营总监称,美国有 70% 的智能手机数据服务背后都是由 Hadoop 来支撑的,也就是说,包括数据的存储以及无线运营商的数据处理等,都是在利用 Hadoop 技术。

  • 电子商务

这一场景应该是非常确定的,eBay 就是最大的实践者之一。国内的电商在 Hadoop 技术上也是储备颇为雄厚的。

  • 能源开采

美国 Chevron 公司是全美第二大石油公司,他们的 IT 部门主管介绍了 Chevron 使用 Hadoop 的经验,他们利用 Hadoop 进行数据的收集和处理,其中这些数据是海洋的地震数据,以便于他们找到油矿的位置。

Hadoop 生态圈包括以下主要组件。
1)HDFS(Hadoop分布式文件系统)
        HDFS是一种数据分布式保存机制,数据被保存在计算机集群上。数据写入一次,读取多次。HDFS 为HBase等工具提供了基础。
 
2)MapReduce(分布式计算框架)
        MapReduce是一种分布式计算模型,用以进行大数据量的计算,是一种离线计算框架。
        这个 MapReduce 的计算过程简而言之,就是将大数据集分解为成若干个小数据集,每个(或若干个)数据集分别由集群中的一个结点(一般就是一台主机)进行处理并生成中间结果,然后将每个结点的中间结果进行合并, 形成最终结果。
 
3)HBASE(分布式列存数据库)
        HBase是一个建立在HDFS之上,面向列的NoSQL数据库,用于快速读/写大量数据。HBase使用Zookeeper进行管理,确保所有组件都正常运行。
 
4)Sqoop(数据ETL/同步工具)
        Sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和Hadoop之间传输数据。
 
5)flume(分布式日志收集系统)
        Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,如日志数据从各种网站服务器上汇集起来存储到HDFS,HBase等集中存储器中。
 
6)Storm(流示计算、实时计算)
        Storm是一个免费开源、分布式、高容错的实时计算系统。Storm令持续不断的流计算变得容易,弥补了Hadoop批处理所不能满足的实时要求。Storm经常用于在实时分析、在线机器学习、持续计算、分布式远程调用和ETL等领域。
 
7)Zookeeper(分布式协作服务)
        Hadoop的许多组件依赖于Zookeeper,它运行在计算机集群上面,用于管理Hadoop操作。
作用:解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。
 
8)Pig(ad-hoc脚本)
        Pig定义了一种数据流语言—Pig Latin,它是MapReduce编程的复杂性的抽象,Pig平台包括运行环境和用于分析Hadoop数据集的脚本语言(Pig Latin)。
        其编译器将Pig Latin 翻译成MapReduce 程序序列将脚本转换为MapReduce任务在Hadoop上执行。通常用于进行离线分析。
 
9)Hive(数据仓库)
        Hive定义了一种类似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行。通常用于离线分析。
        HQL用于运行存储在Hadoop上的查询语句,Hive让不熟悉MapReduce开发人员也能编写数据查询语句,然后这些语句被翻译为Hadoop上面的MapReduce任务。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值