大数据系列教程002-初识hadoop

声明:大数据系列教程文章由Java潘老师辛苦原创,免费公开供java爱好者学习。如需转载请获得潘老师授权并保留原文链接,如有疑问或建议,可以联系潘老师:

Q:1562691348

V:A1562691348

本教程学习知识储备:Java SE基础、Linux基础、数据库基础

1.Hadoop起源于背景

Hadoop雏形开始于2002年的Apache的Nutch,是一个开源Java 实现的搜索引擎。Nutch的目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,随着抓取的数据量的增加,面临着扩展性问题——如何解决数十亿网页的存储与索引问题。

 

  • 2004年Nutch创始人Doug Cutting基于Google的GFS论文实现了分布式文件存储系统名为NDFS。

 

  • 2005年Doug Cutting又基于Google的MapReduce论文,在Nutch搜索引擎实现了该功能。

 

  • 2006年,Yahoo雇用了Doug Cutting,Doug Cutting将NDFS和MapReduce升级命名为Hadoop,NDFS也就变为了HDFS。

 

 

2.Hadoop介绍

  • Hadoop是Apache旗下的一套开源软件平台,是一个能够对大量数据进行分布式处理的软件框架,具有可靠、高效、可伸缩的特点。官网网址:http://hadoop.apache.org/

 

Hadoop实现了包括分布式文件系统HDFS和MapReduce框架在内的云计算软件平台的基础架构,并且在其上整合了包括数据库、云计算管理、数据仓储等一系列平台,其已成为工业界和学术界进行云计算应用和研究的标准平台。

 

3.Hadoop组件

 

(1)Hadoop Common: Hadoop的基础工具类库,为其他模块提供通用工具,包括JNDI和RPC

 

   (2)Hadoop HDFS (Hadoop Distributed File System): 分布式文件存储系统,可以存储海量数据

 

   (3)Hadoop YARN(Yet Another Resources Negotiator): Hadoop2.0以后版本提供的job调度和分布式资源管理框架(运算资源调度系统)

 

   (4)Hadoop MapReduce: 基于YARN系统的并行处理大数据集的编程模型(Hadoop2.x开始基于yarn),基于Map和Reduce两大阶段构成的,其中Map是把一个计算任务分成很多小任务进行并行计算,Reduce是做最后的统计工作的。

 

   其中,HDFS、YARN、MapReduce是Hadoop中最为核心的组件。

 

从官网上看,新增两个组件如下:

Hadoop Ozone: 可扩展的分布式对象存储系统(HDFS是大数据存储系统,但是无论大集群还是小集群其扩展性都受NameNode的限制,虽然HDFS可以通过Federation进行扩展,但是依然深受小文件和4亿个文件的困扰,于是分布式key-value存储系统Ozone诞生了,Ozone能够轻松管理小文件和大文件。)

Hadoop Submarine:Hadoop机器学习引擎

 

4.Hadoop 生态圈

      (1) Ambari:一个基于web的工具,用来供应、管理和监测Apache Hadoop集群,包括支持Hadoop HDFS、Hadoop MapReduce、Hive、HCatalog、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari 也提供一个可视的仪表盘来查看集群的健康状态(比如热图),并且能够以一种用户友好的方式根据其特点可视化的查看MapReduce、pig和Hive 应用来诊断其性能特征。

 

     (2) Avro :数据序列化系统。

 

     (3)Cassandra :可扩展的多主节点数据库,而且没有单节点失败情况。

 

     (4) Chukwa : 管理大型分布式系统的数据收集系统

 

    (5)  HBase : 一个可扩展的分布式数据库,支持大表的结构化数据存储

 

    (6)  Hive : 一个提供数据概述和AD组织查询的数据仓库

 

     (7)Mahout :可扩展大的机器学习和数据挖掘库

 

     (8)Pig :一个支持并行计算的高级的数据流语言和执行框架

 

    (9) Spark : 一个快速通用的Hadoop数据的计算引擎。spark 提供一个简单和富有表现力的编程模型并支持多领域应用,包括ETL、机器学习、流处理 和图计算。

 

      (10)Tez : 一个通用的数据流处理框架,构建在Hadoop YARN上,提供一个有力的灵活的引擎来执行一个任意的DAG任务来处理数据(批处理和交互式两种方式)。Tez 可以被Hive、Pig和其他Hadoop生态系统框架和其他商业软件(如:ETL工具)使用,用来替代Hadoop MapReduce 作为底层的执行引擎。

 

      (11) ZooKeeper :一个应用于分布式应用的高性能的协调服务。

 

需要说明的是,上图并没有包括当前生态圈中的所有组件。而且hadoop生态圈技术在不断的发展,会不断有新的组件出现,一些老的组件也可能被新的组件替代。需要持续关注Hadoop开源社区的技术发展才能跟得上变化。

 

5.Hadoop作用

通过Hadoop可以快速搭建自己的分布式存储系统和分布式运算系统,它可以缩短数据处理时间,同时可以尽量在低成本的情况下实现数据的分析与挖掘。

ps:这里的低成本指的是Hadoop可以基于廉价普通的PC机来搭建集群

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值