当前位置:   article > 正文

大数据之Hadoop生态圈_大数据生态圈

大数据生态圈

大数据Hadoop生态圈–组件介绍

Hadoop是目前应用最为广泛的分布式大数据处理框架,其具备可靠性、高效性、可伸缩性等特点。
Hadoop的核心组件是HDFS、MapReduce。随着处理的任务不同,各种组件的相继出现,有着丰富的Hadoop生态圈。

Hadoop生态圈

组件介绍

1、HDFS(分布式文件系统)

HDFS是整个Hadoop体系的基础,负责数据的存储与管理,Hdfs有着高容错性的特点,并且设计用来部署在低廉的硬件上,适合那些有着超大数据集的应用程序。

2、MapReduce(分布式计算框架)

MapReduce是一种基于磁盘的分布式并行批处理的计算模型,用于大数据量的计算。

MapReduce是一种基于磁盘的分布式并行批处理的计算模型,用于处理和生成大型数据集,他将计算任务分为两个阶段:map阶段和reduce阶段,MapReduce用于在HDFS上处理大量数据,尤其是批量处理任务。

3、Spark(分布式计算框架)

Spark是一种基于内存的分布式并行计算框架,与MapReduce不同的是-----Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好的适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

4、Flink(分布式计算框架)

Flink是一个基于内存的分布式并行处理框架,类似与Spark,但是在部分设计思想方面有很多不同的,对与Flink而言,适合处理事实数据和流式数据,具有更好的状态管理和任务调度能力,而Spark适合处理离线批处理数据,,具有更好的内存管理和执行引擎能力。

5.YARN (分布式资源管理器)

任务的调度和集群资源的管理, YARN是Hadoop 的资源管理和任务调度框架。
它负责管理和调度集群中的计算资源,以便为各种应用程序执行任务。

6.Zookeeper(分布式协作服务)

解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。
Hadoop的许多组件依赖于Zookeeper,它运行在计算机集群上面,用于管理Hadoop操作。

7、Sqoop(数据同步工具)

Sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和Hadoop之前传输数据。
数据的导入和导出本质上是Mapreduce程序,充分利用了MR的并行化和容错性。

8、Hive(基于Hadoop的数据仓库)

Hive定义了一种类似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行。通常用于离线分析。
HQL用于运行存储在Hadoop上的查询语句,Hive让不熟悉MapReduce开发人员也能编写数据查询语句,
然后这些语句被翻译为Hadoop上面的MapReduce任务。

9、HBase(分布式列存储数据库)

HBase是一个建立在HDFS之上,面向列的针对结构化数据的可伸缩、高可靠、高性能、分布式面向列的动态模式数据库。
.>HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳构成。
HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。

10、Flume(日志收集工具)

Flume以Agent为最小的独立运行单位,一个Agent就是一个JVM。单个Agent由Source、Sink和Channel三大
组件构成

  1. Source:从客户端收集数据,并传递给Channel。
  2. Channel:缓存区,将Source传输的数据暂时存放。
  3. Sink:从Channel收集数据,并写入到指定地址。
  4. Event:日志文件、avro对象等源文件

在这里插入图片描述

11、Kafka(分布式消息队列)

kafka 是一个分布式流处理平台,用于构建实时数据流管道和应用程序。

它可以处理高吞吐量的事件数据,并将其存储在可持久化的主题中以供实时处理和分 析。

Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的 所有动作流数据。

实现了主题、分区及其队列模式以及生产者、消费者架构模式。

12.Oozie(工作流调度器)

Oozie是一个可扩展的工作体系,集成于Hadoop的堆栈,用于协调多个MapReduce作业的执行。
它能够管理一个复杂的系统,基于外部事件来执行,外部事件包括数据的定时和数据的出现。

13.Hadoop 主要模块

Core-site.xml(工具模块)
hdfs-site.xml(数据存储模块)
Mapred-site.xml(数据处理模块)

Datax的特点:

  1. sqoop在导入导出数据时充分采用了MapReduce计算框架,根据输入条件生成一个MapReduce作业,在
    hadoop集群中运行,采用MapReduce框架同时在多个节点进行import和export操作,速度比单节点运
    行多个并行导入导出效率高,同时提供了良好的容错性和并发性;
  2. 可以将关系型数据库中的数据导入到hdfs、hive或者hbase等hadoop组件中,也可以将hadoop组件中的
    数据导入到关系型数据库中
  3. 支持insert、update模式,可以选择参数,若内容存在就更新,不存在就插入;
  4. 对国外主流的关系型数据库支持性好;(MySQL、Oracle、DB2、SQL Server)

Sqoop的特点:

  1. 异构数据库和文件系统之间的数据交换;
  2. 采用framework+plugin架构构建,framework处理了缓冲、流控,并发,上下文加载等高速数
    据交换的大部分技术问题,提供了简单的接口与插件交互,插件仅需实现对数据处理系统的访问;
  3. 数据传输过程中在单线程内完成,全内存操作,不读写磁盘,也没有ipc
  4. 开放式的框架,开发者可以在极短的时间开发一个新插件以快速支持新的数据库/文件系统

Sqoop和Datax的区别:

SqoopDatax
采用了MapReduce计算框架进行导入Datax仅仅运行在Datax的单台机器上进行数据的抽取和加载速度比sqoop慢
只可以在关系型数据库和hadoop的组件之间进行数据迁移,而在hadoop相关组件之间(Hive和Hbase之间无法使用Sqoop)同时在关系型数据库之间(MySQL和Oracle就不能)之间就无法通过sqoop导入数据Datax能够分别实现关系型数据库和hadoop组件之间、关系型数据库之间、hadoop组件之间的数据迁移
sqoop专为hadoop而生,对hadoop支持度极好Datax可能会出现不支持高版本hadoop的现象
sqoop只支持官方提供的指定几个关系型数据库和hadoop组件之间的数据交换而在Datax中用户只需根据自生需求修改文件,生成响应的rpm包,自行安装后可以使用自己定制的插件。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/424855
推荐阅读
相关标签
  

闽ICP备14008679号