当前课程知识点:大数据平台核心技术 > 第六讲 全局数据管理与调度 > 数据就近原则计算如何容错 > 数据就近原则计算如何容错(主讲人:罗李)
从上面的内容
我们了解了分布式文件系统
和分布式计算系统中的一些
重要的知识
有了这些知识
我们就可以来继续
看我们如何来利用这些知识
来解决实际碰到的问题
我们前面讲过
我们现在的这节课程
主要是要讨论
解决数据分散在
许多独立的集群中
无法共享 存在冗余和重复
进而引发校验
数据正确性和存储代价
等一系列的问题的方案
所以我们会来分享一些案例
来看看在实际生产中
阿里巴巴是怎么解决这些问题的
我们这里考虑一种
最极端的情况
那就是数据
不仅分布在不同的集群上
而且集群还分布在
不同的数据中心
甚至不同的地域的情况
在这样的情况下
我们通过什么样的方式
来规划集群
达到数据共享
并减少冗余和重复
高效访问的目的
在实践中
我们使用过两种
集群规划的形式
分别如下图所示
如左图
在多个数据中心之间
架设统一的分布式文件系统
和分布式计算系统
让这些数据中心里的所有机器
像一个整体一样
组成一个统一的分布式系统
让系统屏蔽掉内部
跨数据中心的物理细节
并通过智能的数据
分布策略和计算调度策略
来规避由于跨数据中心的
物理网络限制
如右图所示
其方案是分别在
每一个数据中心上
架设独立的分布式文件系统
和分布式计算系统
组成多个独立的
分布式系统组合
但在这些系统的上层
架设一个屏蔽掉下面
多系统环境的调度层
来达到跨数据中心的系统
统一提供给用户层服务的目的
接下来我为大家分享
基于上述两种规划方案
在阿里巴巴实践中的两套
跨数据中心的集群规划案例
第一个案例
是阿里巴巴的云梯集群
它使用的是上述第一种
集群规划方案
第二个案例是阿里巴巴的
ODPS集群
它使用的是上述
第二种集群规划方案
这张就是云梯
跨集群方案的架构图
从架构图中可以看出
云梯集群跨越了两个数据中心
也就是机房一和机房二
机房一和机房二的所有机器
构成了一个统一的
分布式文件系统
其中一部分文件系统的
Name space
在机房一的Master上
另外一部分的Name space
在机房二的Master上
机房二中运行的计算作业
如果需要访问数据就在机房二
那么就直接从机房二的
Master上进行访问
不需要跨越机房间的带宽
而如果机房二中的计算作业
要访问的是机房一中的数据
则有两种选择
第一是直接通过机房间的独享
网络带宽来直读
这种方式对数据的访问次数
很少的情况下是可以的
但如果对同一份数据
要跨机房的访问数据很多
就会产生多次访问的带宽叠加
代价下就会成倍地上升
也就是说
数据跟计算的距离太远
第二则是通过我们本节课程前面
介绍到的技术
让机房一中
需要被机房二中访问到的数据
将其中一个或多个副本
放置在机房二
这样 当机房二中的计算任务
需要访问机房一中的数据时
会发现这份数据
在机房二上也有副本
于是计算会发送到机房二中的
计算节点上进行计算
大大节约了数据跨机房直读的
带宽和效率
云梯集群采用的是
第一种集群规划方式
而阿里巴巴的ODPS
采用的是第二种集群规划方式
这里简单给大家介绍一下
阿里巴巴的ODPS
分布式系统情况
如图中所示
是阿里巴巴自主研发的
云计算系统的整体架构图
底下是分别叫做伏羲的
分布式计算系统
和叫做盘古的分布式文件系统
在机制上
就是提供了
多种分布式计算模型
如SQL
My preduce(音)
流失计算 内存机上等
多种计算模型的ODPS集群
这个架构相信在前面的课程中
我的同事已经给大家
详细介绍过
所以我在这里不再做
进一步的介绍
我们只来看ODPS本身
内部的整体架构
以方便我们了解
ODPS在全局数据管理上
是怎么做的
这就是ODPS系统的
整体架构图
ODPS提供多种计算模型
如分布式的SQL 05:06(音)
等等所有这些计算任务
都在这套架构中
进行调度和管理
并最终提交到
底层的伏羲调度系统
处理存储在盘古
分布式文件系统上的数据
大家可以很清楚地看到
在ODPS的下方
是多个独立的分布式集群
分布叫做Cluster1
和Cluster2等等
这些系统都是一些
独立的分布式文件系统
和分布式计算系统的组合
但他们都是为ODPS服务
这也就对应起来
我们刚才说的
两种集群规划模式的第二种
在ODPS的架构中
跟我们本节课程有关系的
就是处在中间方框最右边的
Replication worker的部分
这个组建就是用来管理ODPS中
跨集群数据分布
和管理策略的组建
在ODPS中 数据并不一定是
以最原始的分布式文件的方式
呈现给用户
而是以一种更加抽象的方式
提供数据视角
用这种方式将用户
从简单的文件操作中解放出来
只需要关心自己
业务逻辑相关的数据视图
其中最常用的两种数据视图
分别是Table
也就是06:26(音)的Table表
这种情况
通常适用于用户是SQL用户
用户运行分布式作业的方式
是通过提交SQL语句来执行
这样用户通常来说
并不关心数据的物理存储
而是以表这样的视图
来看自己的数据
在ODPS中
另外一种数据视图为Volume
也就是原始文件数据
这样用户能够通过Volume
看到自己需要处理的原始文件
并通过自己写My preduce(音)
或者其他类型的分布式作业
来对数据进行处理
-主讲人:武永卫
-主讲人:程永
-QUIZ--作业
-大纲
-初步认识大数据对分布式存储系统的需求
-理解大数据对分布式存储系统的需求
-具体说明大数据对分布式存储系统的需求
-大规模分布式存储的挑战
-小概率事件-Raid卡故障
-分布式存储系统举例
-分布式存储系统重要功能设计要点剖析
-链式写正常流程
-写流程的另一种常见方式:主从模式
-链式写异常流程
-写异常处理的另一种方法-Seal and New
--写异常处理的另一种方法-Seal and New(主讲人:姚文辉)
-读正常流程
-读流程优化-BackupRead
-IO QoS
-数据正确性:checksum
-数据可靠性-Replication
-数据均衡-Rebalance
-垃圾回收-Garbage collection
--垃圾回收-Garbage collection(主讲人:姚文辉)
-Erasure coding
-Erasure coding(3,2)写入和读取过程
--Erasure coding(3,2)写入和读取过程(主讲人:姚文辉)
-元数据管理的高可用性和可扩展性
-元数据管理的高可用性
-Paxos概要
-Raft
-元数据管理的可扩展性
-不同存储介质的特性
-盘古混合存储
-QUIZ--作业
-阿里云飞天分布式调度
-任务调度
-资源调度
-容错机制
-规模挑战
-安全域性能隔离
-分布式调度的发展方向
-QUIZ--作业
-数据格式和抽象
-分布式编程模型
-MapReuduce编程模型
-关系型数据编程模型
-分布式图计算模型
-分布式编程未来展望
-QUIZ--作业
-分布式事务
-分布式一致性算法
-两阶段提交与三阶段提交
-实践--介绍
-关系型计算基本原理_1
-关系型计算基本原理_2
-分布式环境中的连接计算和聚合计算
-其他计算和物理优化
-QUIZ--作业
-提纲
-课程背景介绍
-前序知识
-分布式节点距离计算法则
-数据分布策略
-分布式计算调度
-数据就近原则计算如何容错
-ODPS跨集群数据依赖
-QUIZ--作业
-主讲人:谢德军
--实践2:编写MR完成Group By+Join操作(主讲人:谢德军)
-增量计算和流式计算
-与批量计算的区别
-业界典型系统技术概要分析
-核心技术
-消息机制
-有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制
--有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制(主讲人:强琦)
-StreamSQL
-QUIZ--作业
-软硬件趋势、分布式计算简史与内存计算
-分布式计算
-内存计算
-统一的计算框架
-业界经典系统技术分析-spark&flink
--业界经典系统技术分析-spark&flink(主讲人:强琦)
-QUIZ--作业
-主讲人:褚葳
-QUIZ--作业
-分布式环境下的新问题
-工程实现范例
-课程设计相关问题