当前位置:
文档之家› Hadoop大数据框架概述-主汇报PPT
Hadoop大数据框架概述-主汇报PPT
MapReduce
A YARN-Based System for Parallel Processing of Large data sets.
MapReduce – 离线计算框架
核心思想 – 分而治之
Map和Reduce Map阶段并行处理输入数据 Reduce阶段对Map结果进行汇总
Shuffle连接Map 和 Reduce阶段 >>Map shuffle >>Reduce Shuffle
MapReduce原理和过程
Shuffle和MapReduce过程
Yarn
A framework for job scheduling and cluster resource management
Yarn-虚拟操作系统/资源调度/任务管理
集群资源的管理
1. 主节点-ResourceManager 2. 从节点-NodeManager
• 实时数据处理框架服务基于业务需求的数据处理分析模型开发、分 析处理应用开发、与MySQL、Hbase等数据库进行集成;
• 基于关系型数据库的业务应用开发。
在项目评估中的应用-工程师种类需求
• 数据采集-系统工程师、架构师 • 数据加工-系统工程师、开发工程师 • 数据分发-系统工程师、软件开发工程师 • 离线数据预处理-系统工程师、软件开发工程师; • 离线数据业务应用-Scala工程师、数据库工程师、Java工
程师 • 实时数据分发给kafka消息队列系统-系统工程师 • Kafka消息队列系统与实时数据处理框架服务进行集成-系
统工程师、Scala开发工程师、Java工程师 • 实时数据处理框架服务与MySQL、Hbase等数据库进行
集成-系统工程师、数据库工程师、Scala工程师、Java工 程师; • 基于关系型数据库的业务应用开发-Java工程师。
在项目评估中的应用-工作量评估
• 数据采集-根据不同的数据源,选择合适的采集手段,合理规划部 署采集工具,并与加工处理模型进行集成
• 数据加工-根据不同源数据,加工、转换然,使之符合处理需求, 并与数据采集工具、数据分发工具进行集成
• 数据分发-根据业务需求,开发分发模型,并与离线数据处理工具、 实时处理工具进行分发集成
Thanks!
李天生 litiansheng@
在项目评估中的应用
卡夫卡大数据平台项目实战课程学习在项目评估中的应用
在项目评估中的应用-架构评估
架构评估
应包含数据源层、采集层、 存储层、计算层、服务层、接口 层、展示层
至少应包含数据源层、存 储层、计算层、服务层、接口层
在项目评估中的应用-数据量评估
• HDFS-最低三副本,通常是三到七副本 • 数据采集->合并,需要存储到磁盘 • 离线数据处理->Hbase需要存储到磁盘 • 离线数据处理->Spark SQL需要将数据放入内存 • 在线数据处理->Kfka消息队列需要将数据放入磁
任务调度-三大进程
• ResourceManager 1. 处理客户端请求 2. 启动、监控AppMaster 3. 监控NodeManager 4. 资源分配与调度
• NodeManager 1. 节点管理 2. 处理来自ResManager的命令 3. 处理来自AppMaster的命令
• ApplicationMaster 1. 申请资源 2. 监控、管理NodeManager上任务
A distributed file system that provides high-throughput access to application data.
HDFS – 分布式文件系统
解决的问题
海量数据存储 -> 分布式架构设计 分布式特点:集群,多台机器共同协作完成存储 主从架构设计
核心架构
Hadoop – 应用场景
• 日志分析 – 实时分析、离线分析MapReduce • 推荐系统 – 网店个性推荐 • GPS – 实时采集数据,分析后推送到客户端 • 海量数据的搜集、存储、处理、分析、展示…
Hadoop生态圈
第二部分 案例及组件概述
HDFS
Hadoop File System
• 离线数据预处理-根据数据类型和数据仓库(数据库)的类型,选 择进行数据预处理,并与数仓(数据库)进行集成;
• 离线数据业务应用-基于业务的分析、处理模型开发,基于业务的 数据结构开发,离线业务应用系统开发
• 实时数据分发给kafka消息队列系统,并与之进行集成;
• Kafka消息队列系统与实时数据处理框架服务进行集成;
Spark Streaming
Structured Streaming
The key idea in Structured Streaming is to treat a live dada stream as a table that is being continuously appended.
Flume原理-日志采集组件
采集存储模型
Flume-采集分发模型
大数据项目举例
Hive
The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in
HBase特点
• 容量大-单表支持百亿行、百万列存储,行、列都可扩展 • 面向列-数据表基于列存储和权限控制,支持独立检索 • 数据多版本-每一个列的数据存储有多个Version • 稀疏性-为空的列不占存储空间,表可以设计得非常稀疏 • 扩展性-依赖于HDFS,空间动态扩展 • 高可靠性-WAL机制、Replication机制、HDFS多副本机制 • 高性能-高写入(LSM、RowKey)、高读取(Region切分)
盘+内存(主要是磁盘) • 在线数据处理->Spark 需要将数据放入内存 • 在线数据处理->Spark Streaming/Stuctured
Streaming 需要将数据存入磁盘 • 在线数据处理MySQL、Hbase需要将数据放入磁
盘 • 综上,最多磁盘存储需要3+1+1+1+1=7副本,
即一般情况下存储资源需求为3到7副本;内存根 据业务实际需求决定,最多需要1+1+1=3副本容 量
coordination.
Zookeeper原理
• 主从结构
一个leader、多个follower组成的集群,Server部署要求为2N+1,N为 可损坏的数量;
• 选举制
通过内部选举,选出Leader,无需手动配置谁为主节点,谁为从节点;
HBase
Apache HBase™ is the Hadoop database, a distributed, scalable, big data store.
distributed storage using SQL
Hive概述
用于解决海量结构化数据的统计 Hive是基于Hadoop的一个数据仓库工具
提供类SQL语句查询(HQL); 使用HDFS存储; 使用MapReduce计算; 通过HQL语句,实现底层MapReduce过程 本质是将HQL转化成Mapper、Reducer程序 灵活性和扩展性好:支持UDF,自定义存储格式等 适合离线数据处理
1. NameNode – 主节点 – 领导
文件元数据:文件名称,文件位置,副本数,所有者、组、权限,存储块,块在节点上的位置…
2. DataNode –从节点 – 随从
HDFS-文件存储架构和原理
• 读数据
Client -> NameNode Client -> DataNode
• 写数据
Client -> NameNode Client -> DataNode
Kafka原理
Kafka任务模型
Flume
Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data.
Hive与Hadoop生态系统
Hive原理
Hive优点与适用场景
Hue
Hue is an open source SQL Workbench for Data Warehouses.
Hue概述
• Cloudera公司的开源产品 • 与Hadoop组件集成
几乎是所有Hadoop组件都支持,与HDFS集成、与Yarn集成、与Hive集成、与 MYSQL集成、与HBase集成,基本就是可视化的Hadoop,带UI的Hadoop系统
运行情况
• Container-对资源的抽象和封装
Yarn任务调度过程
Zookeeper
Zookeeper is an effort to develop and maintain an openresource server which enables highly reliable distributed
解决问题/核心内容
• 海量数据存储 – HDFS
存海量数据 动态添加资源 备份(默认3备份,可自定义更多) 快速恢复
• 海量数据分析 – MapReduce
核心理念:分而治之
• 集群资源的管理和任务调度 – YARN
资源管理 任务调度
• 基础工具包 – Hadoop Commen
HBase架构体系与设计模型
HBase架构体系与设计模型
HBASE分布式集群架构