一文搞懂Hadoop生态体系

时间:2022-01-07 22:02来源:短篇合集目录-短篇合集500篇最新章节列表手机官网-日本黄页 点击:

01Hadoop概述

Hadoop体系也是一个计算框架,在这个框架下,能够行使一栽浅易的编程模式,经由过程多台计算机构成的集群,分布式处理大数据集。Hadoop是可扩展的,它能够方便地从单一服务器扩展到数千台服务器,每台服务器进走本地计算和存储。除了倚赖于硬件交付的高可用性,柔件库自己也挑供数据珍惜,并能够在行使层做战败处理,从而在计算机集群的顶层挑供高可用服务。Hadoop中央生态圈组件如图1所示。

图1 Haddoop开源生态

02Hadoop生态圈

Hadoop包括以下4个基本模块。

1)Hadoop基础功能库:声援其他Hadoop模块的通用程序包。

2)HDFS:一个分布式文件体系,能够以高吞吐量访问行使中的数据。

3)YARN:一个作业调度和资源管理框架。

4)MapReduce:一个基于YARN的大数据并走处理程序。

除了基本模块,Hadoop还包括以下项现在。

1)Ambari:基于Web,用于配置、管理和监控Hadoop集群。声援HDFS、MapReduce、Hive、HCatalog、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari还挑供表现集群健康状况的仪外盘,如炎点图等。Ambari以图形化的手段查望MapReduce、Pig和Hive行使程序的运走情况,因此能够经由过程对用户友益的手段诊断行使的性能题目。

2)Avro:数据序列化体系。

3)Cassandra:可扩展的、无单点故障的NoSQL多主数据库。

4)Chukwa:用于大型分布式体系的数据采集体系。

5)HBase:可扩展的分布式数据库,声援大外的组织化数据存储。

6)Hive:数据仓库基础架构,挑供数据汇总和命令走即席查询功能。

7)Mahout:可扩展的机器学习和数据发掘库。

8)Pig:用于并走计算的高级数据流说话和实走框架。

9)Spark:可高速处理Hadoop数据的通用计算引擎。Spark挑供了一栽浅易而富有外达能力的编程模式,声援ETL、机器学习、数据流处理、图像计算等多栽行使。

10)Tez:完善的数据流编程框架,基于YARN竖立,挑供重大而变通的引擎,可实走肆意有向无环图(DAG)数据处理义务,既声援批处理又声援交互式的用户场景。Tez已经被Hive、Pig等Hadoop生态圈的组件所采用,用来替代 MapReduce行为底层实走引擎。

11)ZooKeeper:用于分布式行使的高性能协和服务。

除了以上这些官方认可的Hadoop生态圈组件之外,还有许多相等特出的组件这边异国介绍,这些组件的行使也专门普及,例如基于Hive查询优化的Presto、Impala、Kylin等。

此外,在Hadoop生态圈的周边,还荟萃了一群“友人”,它们固然不曾深入融相符Hadoop生态圈,但是和Hadoop有着千丝万缕的有关,并且在各自拿手的周围首到了不能替代的作用。图2是阿里云E-MapReduce平台整相符的Hadoop生态体系中的组件,比Apache挑供的组相符更为重大。

图2 阿里云E-MapReduce的产品架构

下面浅易介绍其中比较主要的成员。

1)Presto:开源分布式SQL查询引擎,适用于交互式分析查询,数据量声援GB到PB级。Presto能够处理无数据源,是一款基于内存计算的MPP架构查询引擎。

2)Kudu:与HBase相通的列存储分布式数据库,能够挑供迅速更新和删除数据的功能,是一款既声援随机读写,又声援OLAP分析的大数据存储引擎。

3)Impala:高效的基于MPP架构的迅速查询引擎,基于Hive并行使内存进走计算,兼顾ETL功能,具有实时、批处理、多并发等益处。

4)Kylin:开源分布式分析型数据仓库,挑供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力,声援超大周围数据的压秒级查询。

5)Flink:一款高吞吐量、矮延长的针对流数据和批数据的分布式实时处理引擎,是实时处理周围的新星。

6)Hudi:Uber开发并开源的数据湖解决方案,Hudi(Hadoop updates and incrementals)声援HDFS数据的修改和添量更新操作。

03Hadoop的优弱点

现在,Hadoop已经演化成了一个生态体系,体系内的组件千差万别,有的照样孵化阶段,有的风华正茂,有的垂年迈矣。其中,最经久不衰的当属HDFS和Hive两大组件,昙花一现的包括HBase、MapReduce、Presto等,风华正茂的当属Spark和Flink。

古语有云,“成也萧何,败也萧何”。大数据成功最中央的因为是开源,但它存在的最大的题目也是开源。许多组件固然凭借开源能够迅速成熟,但是一旦成熟,就会展现生态混乱和版本割裂的情况,其中最典型的就是Hive。

Hive 1.x之前的版本功能不完善,1.x版和2.x版算是逐步优化到基本可用了,到了3.x版又展现了各栽题目,并且大片面云平台Hive版本都中止在2.x版,新版本推广乏力。另外,Hive的计算引擎也是饱受争议的,Hive声援的计算引擎主要有MapReduce、Tez、Spark、Presto。十多年来MapReduce的计算速度并异国升迁;Tez固然计算速度快,但是装配必要定制化编译和安放;Spark的计算速度最快,但是对JDBC声援不友益;Presto计算速度快并且声援JDBC,但是语法又和Hive纷歧致。申明一下,这边说的快只是相对MapReduce引擎而言的,跟传统数据库的速度相比照样相差1到2个数目级。

总的来说,基于Hadoop开发出来的大数据平台,清淡具有以下特点。

1)扩容能力:能够郑重地存储和处理PB级的数据。Hadoop生态基本采用HDFS行为存储组件,吞吐量高、安详郑重。

2)成本矮:能够行使廉价、通用的机器构成的服务器群分发、处理数据。这些服务器群总共可达数千个节点。

3)高效果:通太甚发数据,Hadoop能够在数据所在节点上并走处理,处理速度专门快。

4)郑重性:Hadoop能自动维护数据的多份备份,并且在义务战败后能自动重新安放计算义务。

Hadoop生态同时也存在不少弱点。

1)由于Hadoop采用文件存储体系,于是读写时效性较差,至今异国一款既声援迅速更新又声援高效查询的组件。

2)Hadoop生态体系日趋复杂,组件之间的兼容性差,装配和维护比较难得。

3)Hadoop各个组件功能相对单一,益处很清晰,弱点也很清晰。

4)云生态对Hadoop的冲击相等清晰,云厂商定制化组件导致版本不相符进一步扩大,无法形成相符力。

5)集体生态基于Java开发,容错性较差,可用性不高,组件容易挂失踪。

关于作者:王春波,资深架构师和数据仓库行家,现任上海启高新闻科技有限公司大数据架构师,Apache Doris和openGauss贡献者,Greenplum中文社区参与者。 公多号“数据中台研习社”运营者。

本文摘编于《高效行使Greenplum:入门、进阶与数据中台》,经出版方授权发布。(书号:9787111696490)转载请保留文章来源。

【编辑选举】

赵强先生:大数据系列课程(新版)(4)Hadoop的体系组织 Hadoop、Spark、Hive到底是什么,做算法要不要学? 终于有人把 Hadoop 生态的中央讲清新了! Hadoop3.x环境搭建、假分布式安放、集群安放 MPP架构与Hadoop架构是一回事吗?
------分隔线----------------------------
栏目列表
推荐内容