大数据课程复习资料整理

以下所有内容只是自己课程考试资料的复习整理
所有图片均出自课程PPT和张伟洋所著的《Hadoop大数据技术开发实践》,不是自己画的!!!

Hadoop

Hadoop整体架构对比

在这里插入图片描述

1.x Hadoop以HDFS和MapReduce为核心。1.x的MapReduce除了负责数据的计算以外,还负责集群作业的调度和资源管理,HDFS负责数据存储

2.x Hadoop以HDFS和YARN为核心。HDFS负责数据存储,YARN负责集群资源管理和统一调度。MapReduce只负责进行数据计算。YARN具有通用性,可以作为其他计算框架的资源管理系统(比如Spark、Storm)。

YARN架构和概念

基本架构

采用主从架构(Mater/Slave),主要由ResourcesManager、NodeManager、ApplicationMaster、Container等组成。

  • ResourceManager:负责对集群资源统一管理和调度
  • NodeManager:每个节点上的资源和任务管理器
  • Task:具体执行某个任务,一个应用程序可能有多个任务。
  • Container:是YARN中资源分配的基本单位,封装了CPU和内存资源的一个容器。

HDFS 架构和概念

基本架构

采用主从架构(M/S),主要由NameNode、DataNode、SecondaryNameNode组成。

在这里插入图片描述

  • 数据块 Block:HDFS中的文件以数据块的形式存储,默认基本存储单位是128MB(1.x 为64MB)。如果文件本身小于128MB,则按照实际大小存储,不占用整个数据块。每个数据块默认3个副本
  • NameNode:在HDFS中存储元数据(文件名称、大小、位置等信息)的节点。存储数据块到DataNode的映射信息。周期性接收DataNode的“心跳”信息和“块报告”。块报告包含了DataNode上所有数据块的信息列表。
  • DataNode:实际存储数据的地方。客户端向DataNode写入或读取数据块。
  • SecondaryNameNode:帮助NameNode管理元数据,他不是备份的NameNode,是一个辅助工具,帮助NameNode整理fsimage和edits信息。

写文件

  1. 客户端向NameNode发起写数据请求。将写入信息(元数据)告诉NameNode。
  2. NameNode将元数据记录到本地,验证客户端的权限。通过验证则告诉客户端能够存放文件的DataNode上的存储位置信息。(地图)
  3. 客户端根据返回信息(地图),向DataNode相应位置写入数据块。
  4. DataNode将数据块备份到其他DataNode上。
    在这里插入图片描述

读文件

  1. 客户端向NameNode发起读数据请求
  2. NameNode告诉客户端组成该文件的数据块的位置信息列表(地图)
  3. 客户端根据信息(地图)从DataNode中读取文件数据。(NameNode不参与文件的传输)

在这里插入图片描述

机架感知策略

举例
  • 第一个副本存在本地机架节点
  • 第二个副本存在同一机架的另外一个节点上
  • 第三个副本存在另外一个机架的节点上

(机架错误远远比节点错误少)

特点
  • 数据块只存放在两个不同机架上
  • HDFS尽量读取最近的副本
  • 副本不是均匀分布在不同机架上的
优点
  • 减少机架间的数据传输,提高操作效率
  • 不损坏数据的可靠性和读取性能

MapReduce

基本概念

MapReduce是分布式计算框架,其设计思想是:从HDFS中获得输入数据,将大数据集分割成小数据集,多个节点并行计算小数据集,将计算结果进行汇总统计,得到最终计算结果。也就是Map 阶段、Partition & Shuffle 阶段、Reduce 阶段。
在这里插入图片描述

执行流程

  1. Client提交应用程序给ResourceManager。
  2. ResourceManager启动MRAppMaster(MapReduce中叫MRAppMaster,其是ApplicationMaster的实现),负责管理整个MapReduce应用程序的生命周期、任务资源申请、Container的启动与释放。
  3. MRAppMaster向ResourceManager申请资源,分配Container。
  4. 运行Task。

在这里插入图片描述

Zookeeper

基本概念

ZooKeeper是一个分布式应用程序协调服务,主要用于解决分布式集群中应用系统的一致性问题。他能提供类似文件系统的目录节点树方式的数据存储,主要用途是维护和监控所存数据的状态变化,以实现对集群的管理。

架构原理

由一组服务器节点组成:

  • 有一个节点角色充当Leader,其他节点角色为Follower
  • 当Client连接ZooKeeper集群并执行写请求时,请求首先发往Leader节点。
  • Leader节点接收到数据变更请求时,首先将数据变更写入本地磁盘以供恢复使用,写完后数据变更再写入内存中以加快读取数据。
  • 最后,Leader节点上的数据变更再同步到集群的其他Follower节点上。
  • 若Leader失效,则从Follower中重新选举出一个Leader节点来处理Client请求。

在这里插入图片描述

Kafka

基本概念

Kafka是一个基于ZooKeeper的高吞吐量低延迟的分布式的发布与订阅消息系统,它可以实时处理大量消息数据以满足各种需求。它是一种消息中间件。

它包含了以下的一些基本概念:

  • 消息(Message):Kafka中的写数据单元称为消息(一行数据,或者一条记录等)。消息可以分组传输以提高效率,每一组消息就是一个批次,分批传输可以减少网络开销。但批次越大,单位时间内处理的消息也就越大,这就涉及到了吞吐量和时间延迟之间的平衡关系。
  • 服务器节点(Broker):Kafka集群包含一个或多个服务器节点,单个独立服务器节点称为Broker。
  • 主题(Topic):每条发布到Kafka集群的消息都有一个类别,这个类别称为主题。
  • 分区(Partition):为了使Kafka的吞吐率能够水平拓展,物理上把主题分成一个或多个分区
  • 生产者(Producer):生产者负责产生消息发送到Kafka的Broker中。(负责写入)
  • 消费者(Consumer):消费者负责从Kafka的Broker上读取消息。消费者可以订阅一个或多个主题。(负责读取)

Kafka架构

一个典型Kafka集群包含一组生产者、一些Broker、一组消费者、一个ZooKeeper集群。生产者发送消息发送到Broker,消费者从Broker中读取数据,ZooKeeper用于管理和协调Broker。当集群中新增了Broker或有Broker失效,它会通知生产者和消费者。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
推荐,最强大数据学习与最佳实践资料合集,基础+架构+治理+案例,共100份。 一、基础篇 快手EB级HDFS挑战与实践 Hive任务开发规范 一文看懂Hadoop生态圈 资料-CentOS7搭建Hadoop-2.7.7集群 ClickHouse官方中文文档 ETL流程、数据流图及ETL过程解决方案 Google-MapReduce中文版_1.0 Hadoop安装及分布式部署 Hadoop精选面试题和MapReduce编程企业级编程实践 HDFS-part2-原理详解 HDFS核心内容及命令-2020 hive安装 hive语法和常用函数 Kafka安装 kylin安装 mapreduce调优指南 sqoop安装 二、架构篇 Flink-1.11 Hive集成与批流一体 ClickHouse在苏宁用户画像场景的实践 优酷大数据 OLAP 技术选型 阿里数据湖选型 各种系统架构图与详细说明 关于BI工具选型的参考依据 Apache Doris在京东搜索实时OLAP中的应用 ClickHouse官方中文文档 ClickHouse原理解析与应用实践 Doris竞品对比 Doris在美团外卖数仓架构中业务实践与改进思路 DorisDB原理剖析 和应用实践篇2021 Flink 流批一体的技术架构以及在阿里的实践 Flink实时仓库实践 Hadoop开源相关,Flink,Kylin等集群搭建2021 KylinCloud+Hudi实践 三、数仓篇 传统数仓与大数据数仓区别 模板-事实表梳理 模板-维度梳理 模板-业务梳理 模板-指标体系梳理 模板1-数据仓库项目计划 模板2-命名规范 模板3_访谈提问和沟通记录单模板 模板4_公共数据资源管理调研模板 模板5_公共数据资源管理分析模板 模板6-报表需求梳理 内部分享-基于 Hudi 和 Kylin 构建准实时高性能数据仓库 商业银行数据仓库系统V2.0 数据仓库建设方案 数据仓库建设规范模板 数据仓库整体设计方案模板 Hadoop构建数据仓库实践 四、治理篇 快手从模型规范开始的数据治理实践 第12章元数据管理-DAMA-DMBOK:数据管理知识体系 权限管理设计方案 数据安全模板-访问权限梳理表 数据治理服务解决方案 数据治理及数据资产化创新实践-京东 万振龙:数据治理与大数据平台设计 主数据管理实践白皮书(1.0版) Apache atlas使用说明文档 atlas安装 CDH启用kerberos身份认证和sentry权限管理 DAMA-部委级数据治理项目经验分享 GrowingIO 2020指标体系与数据采集 GrowingIO公开课:搭建业务+数据一体化的指标体系 IBM 数据治理统一流程 ISO38500 IT治理国际标准 ISO_IEC_38500_2008_version_PDF 五、案例篇 字节Apache Flink在字节跳动的实践 Hudi on Flink在顺丰的实践应用-蔡适择 滴滴Flink在滴滴出行的应用与实践 阿里基于Flink的实时计算平台 菜鸟在物流场景中基于Apache Flink的流计算实践 腾讯clickhouse实践 Clickhouse玩转每天千亿数据-趣头条 微博基于Flink的机器学习实践 快手稳定性体系建设 快手元数据平台化建设及应用场景 快手指标规范化及OneService平台化实战 Apache Flink 在美团的实践与应用 快手服务治理平台+KESS+的设计理念和实战 快手数据中台建设:大数据服务化之路 快手离线数据全链路分级保障平台化建设 快手万亿级实时 OLAP 平台的建设与实践 ClickHouse在快手的大规模应用与架构改进 美团点评酒旅数据仓库建设实践 美团酒旅数据治理实践 美团外卖为何使用Doris创建数据仓库 内部分享-基于 Hudi 和 Kylin 构建准实时高性能数据仓库 实时数据产品实践——美团大交通战场沙盘 ClickHouse在苏宁用户画像场景的实践 腾讯云clickhouse性能调优实践 融合趋势下基于 Flink Kylin Hudi 湖仓一体的大数据生态体系 ClickHouse 在头条的技术演进 Doris的用户画像人群应用-会议组 Doris在美团外卖数仓架构中业务实践与改进思路 Flink 在 OPPO 的平台研发与应用实践 Flink实时仓库实践 Flink在滴滴的应用实践

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值