博客
关于我
[大数据计算基础] 大数据计算系统
阅读量:542 次
发布时间:2019-03-09

本文共 1645 字,大约阅读时间需要 5 分钟。

大数据计算系统

一、大数据批处理计算框架

Hadoop 是一个开源的、可靠的、可扩展的分布式并行计算框架,主要包括 MapReduce 离线大数据分析计算引擎、HDFS 分布式文件系统、YARN 任务执行调度资源管理框架、HBase NoSQL 数据库、Hive 分布式数据仓库等。

适用场景

批处理,适用于对大容量静态数据集进行分析,计算过程完成后返回结果。

框架特点
  • Map-Reduce 函数模型:并行处理的基本过程包括数据划分、任务分配、执行、结果汇总等。
  • API:通过重载 MapReduce 函数实现,例如 wordcount 案例。
  • 系统架构:包括客户端节点、JobTracker(主节点)、TaskTracker(工作节点)。
  • 运行流程:初始化、作业调度、任务分配、Shuffle、Reduce 等。
  • 数据存储机制:基于 HDFS,支持大规模数据存储和读写。
  • 事务处理:通过容错机制确保计算过程的正确性。
容错机制
  • 节点容错:主节点周期性设置检查点,工作节点失效后重新调度任务。
  • 任务容错:TaskTracker 黑名单机制,监控任务执行状态。

二、大数据实时计算框架

1. Storm
适用场景

数据流处理,实时分析新数据和更新数据库,兼具容错性和可扩展性。

框架特点
  • Spout 水龙头:从外部数据源读取数据并封装为 Tuple 格式。
  • Bolt 状态转换:处理 Tuple,执行过滤、函数操作、Join 等。
  • Topology 网络拓扑:Spout 和 Bolt 组成网络,实现流转换。
API

通过定义 Spout 和 Bolt 实现用户逻辑,例如 wordcount 案例。

系统架构

包括 Nimbus(主节点)、Zookeeper(分布式协调组件)、Supervisor(工作节点)、Worker(任务进程)等。

流程优化

基于 Topology 组织流式计算,Bolt 任务通过 Acker 跟踪消息处理结果。

容错机制
  • 任务级失败:Bolt、Spout、Acker 等任务失效导致消息处理失败。
  • 节点级故障:Worker、Supervisor、Nimbus 等节点失效后重新调度任务。
2. Spark Streaming
适用场景

实时流数据处理,高吞吐量和容错能力强。

框架特点
  • DStream 数据流:将实时流分成小批处理作业,每批数据转换为 RDD。
  • RDD 操作:基于 Spark Core 的批处理引擎,支持高效的流数据处理。
系统架构

基于 Spark 集群,通过 DStream 操作实现流式计算。

容错机制
  • 批量数据复制:数据存储在多个工作节点内存中,容错能力强。
  • 检查点机制:定期保存计算状态,支持重新计算。

三、大图计算框架

1. Pregel
概念

图并行计算框架,支持大规模图的高效处理。

框架特点
  • Superstep 并行模型:图并行模式,节点间信息传输异步处理。
  • 流程优化:从节点聚合消息并发送,减少消息流量。
  • 数据存储:持久化数据存储在分布式存储系统中,临时数据存储在本地磁盘。
容错机制
  • 检查点机制:定期保存图状态,支持快速恢复。
  • 从节点故障恢复:主节点重新分配失效节点的任务。
2. GraphX(基于 Spark)
概念

基于 Spark 的大图计算框架,支持图算法实现。

框架特点
  • 顶点表和边表:将图数据存储为两张表,支持高效操作。
  • 路由表:通过 RDD 实现高效路由计算。
  • 流程优化:基于 Spark Core 的 RDD 操作,实现高效图算法。
容错机制
  • 检查点机制:定期保存图状态,支持快速恢复。
  • 容错处理:通过数据复制和任务重新分配确保计算正确性。

总结

大数据计算框架根据任务特点和性能需求,提供不同的解决方案。Hadoop 适用于批处理,Storm 和 Spark Streaming 适用于实时计算,而 Pregel 和 GraphX 则专注于大图处理。每种框架都通过容错机制确保计算的可靠性和高效性。

转载地址:http://xaoiz.baihongyu.com/

你可能感兴趣的文章
SpringBoot中集成SpringBatch详细解析与实战示例(CSV文件读取十万条数据进行业务处理后写入Mysql数据库)
查看>>
powerbi 一张表在另外一张表中出现的数量_PowerBi之初步学习笔记
查看>>
QGIS怎样设置简体中文以及新建可编辑的多边形的图层
查看>>
PowerBuilder 使用自定义事件触发键盘Enter事件
查看>>
PowerCreatorCMS UploadResourcePic 任意文件上传漏洞复现
查看>>
PowerDesigner 使用的一些技巧(转)
查看>>
QGIS在Windows上下载安装与建立空间数据库连接
查看>>
PowerDesigner165安装婆姐汉花教程
查看>>
PowerDesigner使用教程:设置注释、默认值属性
查看>>
PowerDesigner使用教程:不显示背景网格
查看>>
PowerDesigner使用教程:创建数据模型以及导出
查看>>
PowerDesigner使用教程:右侧工具栏显示/隐藏
查看>>
PowerDesigner使用教程:导出sql文件以及解决中文乱码问题
查看>>
PowerDesigner使用教程:时间字段设置
查看>>
PowerDesigner使用教程:给字段添加唯一约束
查看>>
QGIS中怎样设置图层样式并导出地图样式
查看>>
PowerDesigner使用笔记
查看>>
QGIS中怎样实现数据坐标系转换
查看>>
PowerDesigner学习--基本步骤
查看>>
PowerDesigner导出Report通用报表
查看>>