大数据系统架构-Hadoop生态系统

这篇具有很好参考价值的文章主要介绍了大数据系统架构-Hadoop生态系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Hadoop是较早用于处理大数据集合的分布式存储计算基础架构,通过Hadoop,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的为例执行告诉运算和存储。简单来说,Hadoop是一个平台,在它之上,可以更容易地开发和运行大规模数据的软件。

01 Hadoop 概述

Hadoop体系也是一个计算框架,在这个框架下,可以使用一种简单的编程模式,通过多台计算机构成的集群,分布式处理大数据集。

Hadoop是可扩展的,可以方便的从单一服务器扩展到数千台服务器,每台服务器进行本地计算和存储。除了依赖于硬件交付的高可用性,软件库本身也提供数据保护,并且可以在应用层做失败处理,从而在计算机集群的顶层提供高可用服务。
Hadoop核心生态圈组件:
大数据系统架构-Hadoop生态系统

02 Hadoop生态圈

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。Ambri还提供显示集群健康状况的仪表盘,如热点图等。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建立,提供强大而灵活的引擎,可执行任意有向无环图数据处理任务,既支持批处理又支持交互式的用户场景。Tez目前已被Hive、Pig等Hadoop生态圈的组件所采用,用来替代MapReduce作为底层执行引擎。
11)Zookeeper:用于分布式应用的高性能协调服务。
除了以上这些官方认可的Hadoop生态圈组件之外,还有很多十分优秀的组件这里没有介绍,这些组件的应用也非常广泛,例如基于Hive查询优化的Presto、Impala、Kylin等。

此外,在Hadoop生态圈的周边,还聚集了一群伙伴,它们虽未深入融合Hadoop生态圈,但是和Hadoop有着千丝万缕的联系,并且在各自擅长的领域起到了不可替代的作用。下图是阿里云E-MapReduce平台整合的Hadoop生态体系中的组件,比Apache提供的组合更加强大。
大数据系统架构-Hadoop生态系统
其中比较重要的成员有:
1)Presto:开源分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB级。Presto可以处理多数据源,是一款基于内存计算的大数据存储引擎。
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的修改和增量更新操作。

03 Hadoop的优缺点

如今,Hadoop已经演化成了一个生态系统,系统内的组件千差万别,有的还是孵化阶段,有的风华正茂,有的垂垂老矣。其中,最经久不衰的是HDFS和Hive两大组件,昙花一现的包括HBase、MapReduce、Presto等,风华正茂的当属Spark和Flink。
大数据成功最核心的原因是开源,但它存在的最大问题也是开源。很多组件虽然依靠开源可以快速成熟,但一旦成熟,就会出现生态紊乱和版本割裂的情况,其中最典型的就是Hive。Hive1.X之前的版本功能不完善,1.X和2.X版算是逐步优化到基本可用了,到了3.X版又出现了各种问题,并且各大云平台Hive版本都停留在2.X版本,新版本推广乏力。另外,Hive的计算引擎也是饱受争议的,Hive支持的计算引擎主要有MapReduce、Tez、Spark、Presto。十多年来,MapReduce的计算速度没有提升;Tez虽然计算速度快,但是安装需要定制化编译和部署;Spark的计算速度最快,但是对JDBC支持不友好;Presto计算速度快并且支持JDBC,但是语法又和Hive不一致。

总的来说,基于Hadoop开发出来的大数据平台,通常具有以下特点:
1)扩容能力:能够可靠地存储和处理PB级的数据。Hadoop生态基本采用HDFS作为存储组件,吞吐量高,稳定性高。
2)成本低:可以利用廉价、通用的机器组成的服务器群分发、处理数据。这些服务器群总计可以达到数千个节点。
3)高效率:通过分发数据,Hadoop可以在数据所在节点上并行处理,处理速度非常快。
4)可靠性:Hadoop能自动维护数据的多份备份,并且在任务失败后能自动重新部署计算任务。

Hadoop生态同时也存在不少缺点:
1)读写时效差:因为Hadoop采用文件存储系统,所以读写时效差,至今没有一款既支持快速更新又支持高效查询的组件。
2)组件间兼容性差:Hadoop生态系统趋于复杂,组件之间的兼容性差,安装和维护比较困难。
3)组件功能单一:各个组件功能相对单一,优点明显,缺点也明显。
4)版本分歧大:云生态对Hadoop的冲击十分明显,云厂商定制化组件导致版本分歧进一步扩大,无法形成合力。
5)容错性差:整体生态基于Java开发,容错性较差,可用性不高,组件容易挂掉。文章来源地址https://www.toymoban.com/news/detail-426741.html

到了这里,关于大数据系统架构-Hadoop生态系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hadoop生态圈:Hadoop的发展及其模块架构解析

    作者:禅与计算机程序设计艺术 Hadoop是一个开源的分布式计算框架,由Apache基金会开发,是一种可以运行在商用硬件上并支持超大规模数据集的大数据分析工具。它由MapReduce、HDFS、YARN组成,是Hadoop体系结构的基石之一。Hadoop的设计目标是将存储和计算分离,并通过高容错性

    2024年02月08日
    浏览(42)
  • 解密Hadoop生态系统的工作原理 - 大规模数据处理与分析

    在当今的数字时代,大规模数据处理和分析已经成为了企业和组织中不可或缺的一部分。为了有效地处理和分析海量的数据,Hadoop生态系统应运而生。本文将深入探讨Hadoop生态系统的工作原理,介绍其关键组件以及如何使用它来处理和分析大规模数据。 Hadoop是一个开源的分布

    2024年02月12日
    浏览(46)
  • Hadoop生态系统详解

    4.1 Hadoop生态系统 狭义的Hadoop VS 广义的Hadoop 广义的Hadoop:指的是Hadoop生态系统,Hadoop生态系统是一个很庞大的概念,hadoop是其中最重要最基础的一个部分,生态系统中每一子系统只解决某一个特定的问题域(甚至可能更窄),不搞统一型的全能系统,而是小而精的多个小系统

    2023年04月15日
    浏览(35)
  • 【云计算与大数据技术】大数据系统总体架构概述(Hadoop+MapReduce )

    企业级大数据应用框架需要满足业务的需求,一是要求能够满足基于数据容量大,数据类型多,数据流通快的大数据基本处理需求,能够支持大数据的采集,存储,处理和分析,二是要能够满足企业级应用在可用性,可靠性,可扩展性,容错性,安全性和隐私性等方面的基本

    2024年02月09日
    浏览(49)
  • Hadoop——大数据生态体系详解

      1.1 大数据概念 大数据(big data):指无法在一定时间范围内用常规软件工具进行捕捉、管理 和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程 优化能力的海量、高增长率和多样化的信息资产。 主要解决,海量数据的存储和海量数据的分析计

    2024年02月02日
    浏览(50)
  • 大数据hadoop生态技术简介

    Hadoop 生态是指围绕 Hadoop 大数据处理平台形成的一系列开源软件和工具,用于支持大规模数据处理、存储、管理、分析和可视化等应用场景。暂时将其核心技术分为9类:  数据采集技术框架: Flume、Logstash、FileBeat;Sqoop和Datax; Cannal和Maxwell 数据存储技术框架:  HDFS、HBas

    2024年02月09日
    浏览(44)
  • 大数据Hadoop教程-学习笔记06【Hadoop生态综合案例:陌陌聊天数据分析】

    视频教程:哔哩哔哩网站:黑马大数据Hadoop入门视频教程,总时长:14:22:04 教程资源:https://pan.baidu.com/s/1WYgyI3KgbzKzFD639lA-_g,提取码:6666 【P001-P017】大数据Hadoop教程-学习笔记01【大数据导论与Linux基础】【17p】 【P018-P037】大数据Hadoop教程-学习笔记02【Apache Hadoop、HDFS】【20p】

    2024年02月02日
    浏览(48)
  • hadoop生态圈-- 个人笔记学习04 数据迁移

    数据迁移场景 冷热集群数据同步、分类存储 集群数据整体迁移 准实时同步 双备份 线上把集群切向B的同步集群 要素考量 bandwdith performance 1… 单机?分布式? data-increment 可以配合HDFS快照等技术实现增量数据同步。 syncable .数据指定周期内未完成同步,下一周期开始,无法做

    2024年02月12日
    浏览(48)
  • Hadoop生态圈中的数据同步工具SQOOP

    ) 在大部分常见的软件中,比如淘宝、拼多多…,网站都会产生大量的数据 电商网站:订单数据、商品数据、分类数据、用户信息数据、用户行为数据等等 课程网站:订单数据、视频数据、课程数据、用户信息数据等等 … 虽然说不同领域的数据格式和数据含义不一样,但是

    2024年02月07日
    浏览(52)
  • Hadoop生态圈中的Flume数据日志采集工具

    数据采集一般指的是将数据采集到大数据环境下进行持久化、海量化的保存,目的主要是为了我们后期的大数据处理(数据统计分析、数据挖掘等等)沉底数据基础。 不同的来源的数据我们一般有不同的数据采集方式 1、数据来源于我们的RDBMS关系型数据库:Sqoop数据迁移工具

    2024年02月08日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包