大数据平台的通用架构技术体系的简单介绍

数据传输层

Sqoop:
支撑RDBMD[Relational Database Management System 即关系型数据库管理系统]和HDFS之间的数据迁移,通常将MySQL,SQLServer,Oracle的数据移到HDFS或者Hive中,或者将数据从HDFS导出到关系型数据库中[包括导入数据、导出数据、执行SQL查询、列出数据库和表等]。

Cannal:

canal,译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。我们可以简单地把canal理解为一个用来同步增量数据的一个工具。原理就是把自己伪装成MySQL slave,模拟MySQL slave的交互协议向MySQL Mater发送 dump协议,MySQL mater收到canal发送过来的dump请求,开始推送binary log给canal,然后canal解析binary log,再发送到存储目的地,比如MySQL,Kafka,Elastic Search等等。

Flume:

用于海量日志的采集、聚合和传输,将生产的数据保存到到HDFS或者HBase中。

Flume+Kafka:

满足实时流日志的处理。

数据存储层

HDFS:

Hadoop分布式文件系统(HDFS, Hadoop Distributed File System)的设计初衷就是为大规模数据集提供高吞吐量、高度容错的存储。它能够与多种存储源集成,包括本地系统以及云存储如Amazon S3,通过Web协议WebHDFS(webhsfs)实现远程访问。HDFS的核心特性之一是其分布式架构,文件会被切分成称为"数据块"(data block)的小部分,并在集群的不同节点上复制保存。这样做的目的是为了提高读写效率,当某个节点发生故障时,由于有副本存在,其他节点可以接管服务,从而保证了系统的高可用性和数据的完整性。

客户端对文件的操作,无论是写入还是读取,通常都会被分布到集群的不同节点上执行,这避免了集中式的单点性能瓶颈。这种设计使得HDFS特别适合于大数据处理任务,因为它能够处理大量并发请求,且在处理海量数据时表现出良好的扩展性。

HDFS采用追加(append-only)的方式写入数据。不支持文件任意offset的修改。不支持多个写入器(writer)。

HBase:

HBase 是一种分布式、可扩展、支持海量数据存储的 NoSQL 数据库。它缺少很多RDBMS系统的特性,比如列类型,辅助索引,触发器,和高级查询语言等待。

Kudu:

折中HDFS和HBase的分布式数据库,既支持随机读写,又支持OLAP分析的大数据引擎。

资源管理层

Yarn:

Hadoop的资源管理器,负责Hadoop集群资源的统一调度和管理,为运算程序提供服务器运算资源,能支撑MR,Spark,Flink多种框架。

Kubernates:

Kubernetes 集群可视化为两个部分:控制平面与计算设备(或称为节点)。

1. 节点与容器集: 每个节点可以是物理机或虚拟机,运行着一个或多个容器集(容器编排系统中的概念)。容器集由多个容器组成,这些容器共享节点的资源(如 CPU、内存、存储)。

2. 控制平面: 控制平面负责管理整个集群的状态和配置,例如确定哪些应用运行在哪些节点上,以及使用哪些容器镜像。它接收管理员或 DevOps 团队的命令,并将这些指令转发给各个节点。

3. 服务与任务调度:服务定义了应用程序或工作负载,它们与容器集解耦。这意味着服务请求不关心实际运行在哪个容器集上,容器编排系统会自动决定将服务请求分发到适当的容器集。容器编排系统会考虑节点的可用资源和负载情况,自动将容器集分配到最合适的节点上来执行任务请求。这些系统通常会进行资源调度和容错处理,确保系统的高可用性和效率。

4. 动态调整与替换:容器编排系统能够动态调整和重新分配容器集,以应对节点负载变化或节点故障。它可以将容器集从一个节点迁移到另一个节点,或者在容器失败时自动替换它们。

通过容器化技术和自动化管理,使得分布式应用程序能够更有效地运行和扩展,同时减少了运维的复杂性和人为错误的可能性。

Kubernetes 集群的预期状态定义了应运行哪些应用或其他工作负载、应使用哪些镜像、应提供哪些资源,以及其他配置详情。

在使用这种基础架构时,管理容器的方式基本不变。但您需要在更高级别参与容器管理,无需对独立的容器或节点实施微观管理,就能更好地控制容器。

数据计算层[离线计算框架]

MapReduce:

MapReduce是一个分布式、并行处理的计算框架。它把任务分为 Map 阶段和 Reduce 阶段。开发人员使用存储在HDFS 中数据(可实现快速存储),编写 Hadoop 的 MapReduce 任务。由于MapReduce工作原理的特性, Hadoop 能以并行的方式访问数据,从而实现快速访问数据。

Hive:

数据仓库工具,管理HDFS存储的数据,可以将结构化的数据文件映射成一张数据库表,并提供完整的类似于SQL查询功能,适合离线非实时数据分析。

Spark sql:

引入RDD[弹性分布式数据集],将SQL转换成RDD的计算,并将中间结果存放在内存中。

数据计算层[实时计算框架]

Spark Streaming:

实时流数据处理框架[按时间片分成小批次,秒级延迟],可以接收Kafka,Flume,HDFS等数据源实时输入数据,并将结果保存在HDFS,RDBMS,HBase等。

Storm:

实时流数据处理框架[毫秒级延迟]。

Flink:

更高级的实时流数据处理框架,比Storm延迟更低,吞吐量更高,另外支持乱序和调整延迟时间。

多维分析层

Kylin:

Kylin 基于 Hadoop 和 HBase 构建,能够支持超大规模数据的查询和分析,并且具有低延迟、高并发、高可扩展等优点。分布式分析引擎,能在亚秒内查询巨大的Hive表,通过预计算将多维组合计算好的结果保存成Cube存储到HBase中。用户使用SQL查询时,将SQL转换为对Cube的查询。

Druid:

Druid是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。也是一个JDBC组件,用于实时数据分析的高容错,高性能开源分布式系统。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是祈哦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值