一. 什么是Hadoop
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。
充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System), 简称HDFS。
HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;
而且它提供高吞吐量(high throughput)来访问应用程序的数据,
适合那些有着超大数据集(large data set)的应用程序。
HDFS放宽了(relax)POSIX的要求,
可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。
HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
二. 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发展历程
Hadoop原本来自于谷歌一款名为MapReduce的编程模型包。
谷歌的MapReduce框架可以把一个应用程序分解为许多并行计算指令,
跨大量的计算节点运行非常巨大的数据集。使用该框架的一个典型例子就是在网络数据上运行的搜索算法。
Hadoop最初只与网页索引有关,迅速发展成为分析大数据的领先平台。
目前有很多公司开始提供基于Hadoop的商业软件、支持、服务以及培训。
Cloudera是一家美国的企业软件公司,该公司在2008年开始提供
基于Hadoop的软件和服务。
GoGrid是一家云计算基础设施公司,在2012年,
该公司与Cloudera合作加速了企业采纳基于Hadoop应用的步伐。
Dataguise公司是一家数据安全公司,同样在2012年
该公司推出了一款针对Hadoop的数据保护和风险评估。
四. Hadoop命名
Hadoop这个名字不是一个缩写,而是一个虚构的名字。该项目的创建者,
Doug Cutting解释Hadoop的得名:"这个名字是我孩子给一个棕黄色的大象玩具命名的。
我的命名标准就是简短,容易发音和拼写,没有太多的意义,
并且不会被用于别处。小孩子恰恰是这方面的高手。”
Hadoop的发音是 [hædu:p]。
五. Hadoop优点
Hadoop是一个能够对大量数据进行分布式处理的软件框架。
Hadoop 以一种可靠、高效、可伸缩的方式进行数据处理。
Hadoop 是可靠的,因为它假设计算元素和存储会失败,
因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。
Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。
Hadoop 还是可伸缩的,能够处理 PB 级数据。
此外,Hadoop 依赖于社区服务,因此它的成本比较低,任何人都可以使用。
Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。
用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。
它主要有以下几个优点:
高可靠性:Hadoop按位存储和处理数据的能力值得人们信赖。
高扩展性:Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,
这些集簇可以方便地扩展到数以千计的节点中。
高效性 : Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,
因此处理速度非常快。
高容错性:Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
低成本 :与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据
集市相比,hadoop是开源的,项目的软件成本因此会大大降低。
Hadoop带有用Java语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。
Hadoop 上的应用程序也可以使用其他语言编写,比如 C++。
hadoop大数据处理的意义
Hadoop得以在大数据处理应用中广泛应用得益于其自身在数据提取、变形和加载(ETL)方面上的天然优势。
Hadoop的分布式架构,将大数据处理引擎尽可能的靠近存储,对例如像ETL这样的批处理操作相对合适,
因为类似这样操作的批处理结果可以直接走向存储。Hadoop的MapReduce功能实现了将单个任务打碎,
并将碎片任务(Map)发送到多个节点上,之后再以单个数据集的形式加载(Reduce)到数据仓库里。
------ 引自百度百科