Hadoop学习第一篇---hadoop背景介绍及基本组件简介

Hadoop产生的背景

  1. HADOOP最早起源于Nutch。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题。

  2. 2003年开始谷歌陆续发表的三篇论文为该问题提供了可行的解决方案。

——分布式文件系统(GFS),可用于处理海量网页的存储

——分布式计算框架MAPREDUCE,可用于处理海量网页的索引计算问题。

——BigTable 数据库:OLTP 联机事务处理 Online Transaction Processing 增删改
          OLAP 联机分析处理 Online Analysis Processing 查询
          真正的作用:提供了一种可以在超大数据集中进行实时CRUD操作的功能

3.Nutch的开发人员完成了相应的开源实现HDFS和MAPREDUCE,并从Nutch中剥离成为独立项目HADOOP,到2008年1月,HADOOP成为Apache顶级项目,迎来了它的快速发展期。
Hadoop是什么
Hadoop的官网:http://hadoop.apache.org/

1、Hadoop是Apache旗下的一套开源软件平台

2、Hadoop提供的功能:利用服务器集群,根据户自定义业逻辑对海量数进行分布式处理

3、Hadoop的核心组件:

1)Hadoop Common:支持其他Hadoop模块的常用工具。

2) Hadoop分布式文件系统(HDFS™):一种分布式文件系统,可提供对应用程序数据的高吞吐量访问。

3) Hadoop YARN:作业调度和集群资源管理的框架。

4) Hadoop MapReduce:一种用于并行处理大型数据集的基于YARN的系统。

大数据的处理主要就是存储和计算。
如果说安装hadoop集群,其实就是安装了两个东西: 一个操作系统YARN 和 一个文件系统HDFS。其实MapReduce就是运行在YARN之上的应用。

操作系统   文件系统   应用程序
win7     NTFS    QQ,WeChat
YARN     HDFS    MapReduce

4、hadoop的概念:

狭义上: 就是apache的一个顶级项目:apahce hadoop

广义上: 就是指以hadoop为核心的整个大数据处理体系

5、Apache的其他Hadoop相关项目包括:

Ambari™:一种用于供应,管理和监控Apache Hadoop集群的基于Web的工具,其中包括对Hadoop HDFS,Hadoop MapReduce,Hive,HCatalog,HBase,ZooKeeper,Oozie,Pig和Sqoop的支持。Ambari还提供了一个用于查看群集运行状况的仪表板,例如热图和可以直观地查看MapReduce,Pig和Hive应用程序的功能,以及以用户友好的方式诊断其性能特征的功能。

Avro™:数据序列化系统。

Cassandra™:无单点故障的可扩展多主数据库。

Chukwa™:管理大型分布式系统的数据收集系统。

HBase™:可扩展的分布式数据库,支持大型表格的结构化数据存储。

Hive™:提供数据汇总和即席查询的数据仓库基础架构。

Mahout™:可扩展的机器学习和数据挖掘库。

Pig™:用于并行计算的高级数据流语言和执行框架。

Spark™:用于Hadoop数据的快速和通用计算引擎。Spark提供了一个简单而富有表现力的编程模型,它支持广泛的应用程序,包括ETL,机器学习,流处理和图计算。

Tez™:一种基于Hadoop YARN的通用数据流编程框架,它提供了一个强大且灵活的引擎,可执行任意DAG任务来处理批处理和交互式用例的数据。Hado™,Pig™和Hadoop生态系统中的其他框架以及其他商业软件(例如ETL工具)正在采用Tez来替代Hadoop™MapReduce作为底层执行引擎。

ZooKeeper™:分布式应用程序的高性能协调服务。

Hadoop 组件简介:
拓扑架构图
Hadoop学习第一篇---hadoop背景介绍及基本组件简介_第1张图片

重点组件:

HDFS:Hadoop的分布式文件存储系统。

MapReduce:Hadoop的分布式程序运算框架,也可以叫做一种编程模型。

Hive:基于Hadoop的类SQL数据仓库工具

Hbase:基于Hadoop的列式分布式NoSQL数据库

ZooKeeper:分布式协调服务组件

Mahout:基于MapReduce/Flink/Spark等分布式运算框架的机器学习算法库

Oozie/Azkaban:工作流调度引擎

Sqoop:数据迁入迁出工具

Flume:日志采集工具

你可能感兴趣的:(Hadoop学习第一篇---hadoop背景介绍及基本组件简介)