大数据Hadoop概述

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 大数据Hadoop概述

1 Hadoop 概述

1.1、 Hadoop的介绍

1.1 Hadoop 是什么

1.2 Hadoop 发展历史

1.2.1 Google的基本思想:三驾马车

Hadoop发展历史


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

6. 2003年、2004年谷歌发表的两篇论文为该问题提供了可行的解决方案。


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


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


Nutch的开发人员完成了相应的开源实现HDFS和MAPREDUCE,并从Nutch中剥离成为独立项目HADOOP,到2008年1月,HADOOP成为Apache顶级项目.

狭义上来说,hadoop就是单独指代hadoop这个软件,


HDFS :分布式文件系统

MapReduce : 分布式计算系统

Yarn:分布式样集群资源管理

1.2.2 分布式文件系统的核心架构和原理

通过机架感知,达到数据块冗余度的要求。,分区域是容灾为了防止rack1宕机最先考虑,同一个机架说明网络一样,传递较快.具体算法不需要深究.因为是实现好的.

广义上来说,hadoop指代大数据的一个生态圈,包括很多其他的软件

2 hadoop的历史版本和发行版公司

2.1 Hadoop历史版本

1.x版本系列:hadoop版本当中的第二代开源版本,主要修复0.x版本的一些bug等

2.x版本系列:架构产生重大变化,引入了yarn平台等许多新特性

3.x版本系列: 加入多namenoode新特性

从Hadoop1.x升级到Hadoop2.x,架构发生了比较大的变化,这里面的HDFS是分布式存储,MapRecue是分布式计算,咱们前面说了Hadoop解决了分布式存储和分布式计算的问题,对应的就是这两个模块


在Hadoop2.x的架构中,多了一个模块 YARN,这个是一个负责资源管理的模块,那在Hadoop1.x中就不需要进行资源管理吗?


也是需要的,只不过是在Hadoop1.x中,分布式计算和资源管理都是MapReduce负责的,从Hadoop2.x开始把资源管理单独拆分出来了,拆分出来的好处就是,YARN变成了一个公共的资源管理平台,在它上面不仅仅可以跑MapReduce程序,还可以跑很多其他的程序,只要你的程序满足YARN的规则即可


Hadoop的这一步棋走的是最好的,这样自己摇身一变就变成了一个公共的平台,由于它起步早,占有的市场份额也多,后期其它新兴起的计算框架一般都会支持在YARN上面运行,这样Hadoop就保证了自己的地位。


咱们后面要学的Spark、Flink等计算框架都是支持在YARN上面执行的,并且在实际工作中也都是在YARN上面执行。


Hadoop3.x的架构并没有发生什么变化,但是它在其他细节方面做了很多优化


2.2 Hadoop三大发行版公司

接下来看一下Hadoop的发行版,什么叫发行版呢?


举一个大家接触比较多的例子,


目前手机操作系统有两大阵营,一个是苹果的IOS,还有一个是谷歌的Android


IOS是闭源的,也就不存在多个发行版了,如果你基于IOS改造一下,弄一个新的手机系统出来,会被苹果告破产的。所以IOS是没有其它发行版的,只有官方这一个版本。


Android是开源的,所以基于这个系统,很多手机厂商都会对它进行封装改造,因为这些手机厂商会感觉原生的Android系统的界面看起来比较low,或者某一些功能不太适合中国人的使用习惯,所以他们就会进行改造,例如国内的魅族、小米、锤子这些手机厂商都基于Android打造了自己的手机操作系统,那这些就是Android系统的一些发行版。


那针对Hadoop也是一样的,目前Hadoop已经演变为大数据的代名词,形成了一套完善的大数据生态系统,并且Hadoop是Apache开源的,它的开源协议决定了任何人都可以对其进行修改,并作为开源或者商业版进行发布/销售。


所以目前Hadoop发行版非常的多,有华为发行版、Intel发行版、Cloudera发行版CDH、Hortonworks发行版HDP,这些发行版都是基于Apache Hadoop衍生出来的。


免费开源版本apache:

http://hadoop.apache.org/


优点:拥有全世界的开源贡献者,代码更新迭代版本比较快,


缺点:版本的升级,版本的维护,版本的兼容性,版本的补丁都可能考虑不太周到,


apache所有软件的下载地址(包括各种历史版本):


http://archive.apache.org/dist/


免费开源版本hortonWorks:

https://hortonworks.com/


hortonworks主要是雅虎主导Hadoop开发的副总裁,带领二十几个核心成员成立Hortonworks,核心产品软件HDP(ambari),HDF免费开源,并且提供一整套的web管理界面,供我们可以通过web界面管理我们的集群状态,web管理界面软件HDF网址(http://ambari.apache.org/


软件收费版本ClouderaManager:

https://www.cloudera.com/


cloudera主要是美国一家大数据公司在apache开源hadoop的版本上,通过自己公司内部的各种补丁,实现版本之间的稳定运行,大数据生态圈的各个版本的软件都提供了对应的版本,解决了版本的升级困难,版本兼容性等各种问题


在这里我们挑几个重点的分析一下:


首先是官方原生版本:Apache Hadoop


Apache是一个IT领域的公益组织,类似于红十字会,Apache这个组织里面的软件都是开源的,大家可以随便使用,随便修改,我们后面学习的99%的大数据技术框架都是Apache开源的,所以在这里我们会学习原生的Hadoop,只要掌握了原生Hadoop使用,后期想要操作其它发行版的Hadoop也是很简单的,其它发行版都是会兼容原生Hadoop的,这一点大家不同担心。


原生Hadoop的缺点是没有技术支持,遇到问题需要自己解决,或者通过官网的社区提问,但是回复一般比较慢,也不保证能解决问题,


还有一点就是原生Hadoop搭建集群的时候比较麻烦,需要修改很多配置文件,如果集群机器过多的话,针对运维人员的压力是比较大的,这块等后面我们自己在搭建集群的时候大家就可以感受到了。


那接着往下面看 Cloudera Hadoop(CDH)


注意了,CDH是一个商业版本,它对官方版本做了一些优化,提供收费技术支持,提供界面操作,方便集群运维管理


CDH目前在企业中使用的还是比较多的,虽然CDH是收费的,但是CDH中的一些基本功能是不收费的,可以一直使用,高级功能是需要收费才能使用的,如果不想付费,也能凑合着使用。


还有一个比较常用的是HortonWorks(HDP)


它呢,是开源的,也提供的有界面操作,方便运维管理,一般互联网公司偏向于使用这个


注意了,再爆一个料,最新消息,目前HDP已经被CDH收购,都是属于一个公司的产品,后期HDP是否会合并到CDH中,还不得而知,具体还要看这个公司的运营策略了。


最终的建议:建议在实际工作中搭建大数据平台时选择

CDH或者HDP,方便运维管理,要不然,管理上千台机器的原生Hadoop集群,运维同学是会哭的。


注意了,学习过程中我们使用原生Hadoop,在最后我们会讲一下CDH和HDP的使用


总结:


20210705092034171.png

HDFS负责海量数据的分布式存储

MapReduce是一个计算模型,负责海量数据的分布式计算

YARN主要负责集群资源的管理和调度


3 Hadoop 优势(4 高)

20210314103741124.png

20210314103759461.png


4 大数据技术生态体系

2021031410403675.png

图中涉及的技术名词解释如下:


任务调度:集群中可能有很多任务,任务不可能都去运行,这时候就会又先后和定时这样的调度器


1)Sqoop:Sqoop 是一款开源的工具,主要用于在 Hadoop、Hive 与传统的数据库(MySQL)

间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进

到 Hadoop 的 HDFS 中,也可以将 HDFS 的数据导进到关系型数据库中。

2)Flume:Flume 是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,

Flume 支持在日志系统中定制各类数据发送方,用于收集数据;

3)Kafka:Kafka 是一种高吞吐量的分布式发布订阅消息系统;

4)Spark:Spark 是当前最流行的开源大数据内存计算框架。可以基于 Hadoop 上存储的大数

据进行计算。

5)Flink:Flink 是当前最流行的开源大数据内存计算框架。用于实时计算的场景较多。

6)Oozie:Oozie 是一个管理 Hadoop 作业(job)的工作流程调度管理系统。

7)Hbase:HBase 是一个分布式的、面向列的开源数据库。HBase 不同于一般的关系数据库,

它是一个适合于非结构化数据存储的数据库。

8)Hive:Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张

数据库表,并提供简单的 SQL 查询功能,可以将 SQL 语句转换为 MapReduce 任务进行运

行。其优点是学习成本低,可以通过类 SQL 语句快速实现简单的 MapReduce 统计,不必开

发专门的 MapReduce 应用,十分适合数据仓库的统计分析。

9)ZooKeeper:它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、

名字服务、分布式同步、组服务等。


5 推荐系统框架图

20210314104114657.png

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
4天前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
30 6
|
4天前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
23 2
|
3天前
|
存储 分布式计算 API
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
20 0
|
5天前
|
存储 分布式计算 资源调度
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
30 5
|
4天前
|
存储 消息中间件 大数据
大数据-68 Kafka 高级特性 物理存储 日志存储概述
大数据-68 Kafka 高级特性 物理存储 日志存储概述
12 1
|
1天前
|
SQL 分布式计算 大数据
大数据平台的毕业设计01:Hadoop与离线分析
大数据平台的毕业设计01:Hadoop与离线分析
|
3天前
|
存储 分布式计算 NoSQL
大数据-144 Apache Kudu 基本概述 数据模型 使用场景
大数据-144 Apache Kudu 基本概述 数据模型 使用场景
10 0
|
3天前
|
SQL 存储 OLAP
大数据-133 - ClickHouse 基础概述 全面了解
大数据-133 - ClickHouse 基础概述 全面了解
16 0
|
3天前
|
存储 分布式计算 算法
大数据-105 Spark GraphX 基本概述 与 架构基础 概念详解 核心数据结构
大数据-105 Spark GraphX 基本概述 与 架构基础 概念详解 核心数据结构
12 0
|
3天前
|
消息中间件 分布式计算 Kafka
大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点
大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点
15 0