当前位置:首页 > 房产信息

分布式计算 白话分布式 之 分布式计算框架——Spark

分布式存储的出现是因为单机存储资源有限且难以扩展,分布式计算的出现也是因为单机计算资源有限且难以扩展。存储资源一般指磁盘容量,计算资源一般指内存和CPU。

我们引用中科院的定义来详细了解什么是分布式计算:

分布式计算是一种新的计算方法。所谓分布式计算,就是两个或两个以上的软件互相共享信息,这些软件可以在同一台计算机上运行,也可以在通过网络连接的多台计算机上运行。

与其他算法相比,分布式计算具有以下优势:

1.稀有资源可以共享。

2.分布式计算可以平衡多台计算机上的计算负载。

3.你可以把程序放在最适合运行它的电脑上。

这个定义真的很精辟,既指出了分布式计算的内涵,也指出了分布式计算存在的问题。我们来分解一下这个定义。

首先,我们标记一些关键词:软件、网络、运营、资源、共享、平衡、负载和适用性。

我们不看上面的定义,只看这些关键词,就可以勾勒出分布式计算所需的子系统:

1.调度系统:对应的关键词是均衡、合适、负载-->:如果你想活得井井有条,最好有人给你安排。

2.交流系统:对应关键词网络,分享->:如果想交流,一起玩,至少有一个电话。

3.计算系统:软件、资源、运营对应关键词->:想吃饭,至少有个活厨子。

同样,我们可以先列出这些关键词的对立面:网络不可靠、运行问题、资源不足、共享性差、分布不均衡、负载过大,不适合根据这些反向关键词来勾勒分布式系统可能出现的问题:

1.资源调度不合理导致负载不均衡,无法充分利用集群资源:对应的关键字资源不足,分配不均衡,负载过大不适合。

2.计算的可靠性低导致结果错误或计算失败:对应的关键字网络不可靠,操作失常。

调度问题占4个关键词,占总关键词的67%,说明中科院认为调度问题是分布式计算中最关键的因素。是的,我们也这样认为。因此,我们将首先介绍spark的调度系统,然后提出另外两个系统,顺便提出spark对这两个问题的解决方案。

Spark框架

Spark的调度系统自上而下由DAGScheduler(作业级调度器)、TaskScheduler(任务级调度器)和SchedulerBackend(调度资源管理器)组成,它们的关系如下图所示:

为了让大家快速对这个过程有一个直观的认识,我们参考例子来解释一下:

新来的校长(DAGScheduler)决定整理一下学校的现状,统计一下学校的男女生人数,并制作一份报告(Job-output report on the number of男女生),并决定让秘书先找人按班级统计男女生人数,每个班级会制作一份报告,然后让男女生人数合并(两个Stage-class报告,报告合并)。同时校长规定了做这个的最大组数(Executor-实际工作环境,对应Java虚拟机),以及每个组的最大人数(Thread-单个Executor中最大的并行工作个体,对应CPU内核数-每个Thread只能做一个单一的工作,所以不仅要数男生的数量,还要数女生的数量)。

秘书接到指令后,根据班级数、班级数、班级位置(比如哪个小组负责哪个班最快——最近)来规划小组的具体工作。

然后秘书去外包公司组(schedulerbacknd-一个专门做外包人力的组织),外包组根据计划把人力需求分配给各个公司(Worker)。如果所有人都出动了,告诉秘书等一会儿(Spark程序启动时的接受状态)。一旦有人回来,外包组要求此人按照计划统计相应班级的男女人数(Task-人数等于班级人数* 2-因为每个班级必须统计男生女生人数),随着人员的逐步回归,派出的人数也会逐渐跟上计划。

校长将跟踪统计数据。每当一个班的男生或女生被统计出来,校长就会拿出一本小书,把这个任务从待办事项清单上抹掉,直到全部抹掉。然后,如果生成了每个类的报告,就认为完成了类统计(第一阶段)。同样,负责人将计算阶段数,以判断作业是否完成。

虽然这部作品使用Spark的框架作为杀鸡的工具,但是上面的例子应该让你对概念有一个大概的了解,下面我们会对这些概念给出一个相对严格的定义。

Job 指一次 action 操作,Spark 对数据的操作包括 transform 操作和 action 操作,action 操作指有数据输出(无论是输出到文件还是输出到控制台)的操作,spark 是懒的,一段程序只有遇到 action 操作才会真正调度执行。Spark 按照 action 操作对应用进行 Job 切分。Stage 一个 Job 会根据 Shuffle 被拆分为多个 Stage 。所谓的 shuffle 就是宽依赖。所谓的宽依赖就是父 RDD 的分区影响了多个 RDD 的分区。

Task Spark 最小执行单元,一般而言数据每个 partition 对应一个 Task。Driver 就是代码中的 SparkContext,整个 Spark 作业启动、调度、监控者。Worker 可运行的物理节点。Executor 执行 Spark 的处理程序,也就是一个 JVM进程,如果使用 yarn 调度的话则对应 yarn 中的一个 Container。

这些概念之间的关系可以从上面的例子中推导出来,官方地图更简洁:

Spark虽然有自己的调度机制和逻辑,但只能在多个提交的作业中实现优化。如果要根据集群资源和负载压力做出最佳分配决策,单靠Spark是做不到的。因此,在工程应用中,Spark很少单独部署和使用,而是与纱线结合,利用纱线的资源管理和分配能力给出最优的分配策略。

其实MapReduce和Storm一般都是依靠纱线的资源管理能力。这就是上面第一个问题的答案——不要逞能,让专业的人去做专业的事。

Spark的内部沟通非常复杂。客户和主人之间,主人和工人之间,工人和工人之间都有沟通。而且整个操作非常快,资源消耗比较大。所以我不会通过阻塞I/O来在线等待,所以我选择了NIO(发送响应后立即返回,释放资源,等待回调)模式。事实上,几乎没有大数据在线系统不会采用这种方案。在1.6之前,Spark采用了基于Actor模型的Akka通信框架,但由于一些管理和依赖冲突,在1.6之后被Netty框架取代。

Spark还使用一系列超时机制来防止网络异常导致的问题。它通过累加器计数识别运行时异常,并使用阶段重新提交来解决这些异常。

1.《分布式计算 白话分布式 之 分布式计算框架——Spark》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《分布式计算 白话分布式 之 分布式计算框架——Spark》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/fangchan/895442.html

上一篇

西沙海域军用海底光缆遭破坏 到底是谁干的

下一篇

送花卡片写什么 2018情人节送花寄语大全 2018情人节送花卡片怎么写卡片短语

政府消费券被羊毛党盯上 具体操作手段是什么

政府券被羊毛党盯上了?这是怎么回事?最近有微信群有这样一段对话:“收到优惠券的朋友,欢迎互相帮忙套现,我有店铺收款码!”“有人帮忙兑现优惠券吗?八折!”虽然一张代金券只有10块钱一张,有的城市规定每人一次只能领50块钱代金券,但还是有人想着把这50块钱兑现。需要找合作商户获取这10元优惠券,然后通过第三方支付...

罗托克 罗托克执行器初步调试的操作步骤

介绍了调试过程中的参数设置,从转矩参数和开关极限两方面进行了总结。 1.设置扭矩参数 Rottok执行机构的扭矩分为两种:正向扭矩值和反向扭矩值,一般在阀门制造商组装时设定。具体数值不仅由阀门制造商提供,也由用户在日常使用中进行调整。一般默认值为额定扭矩的40%,可以根据需要调整到额定扭矩。...

徽采商城 合肥公共资源交易中心打造的“徽采商城”品牌 顺利通过国家审核

近日,合肥公共资源交易中心打造的“蔡慧商城”品牌成功通过国家审核,正式获得国家工商行政管理局商标局颁发的商标注册证书。商标注册的实现意味着安徽合肥政府采购网上商城拥有了自己的专属品牌。过去,在政府采购中,传统模式效率低下,采购者往往不得不面对挑战。为此,合肥公共资源交易中心借助“互联网+政府采购”的模式,建立...

高级人力资源师 高级人力资源管理师算不算高级职称

高级人力资源师 高级人力资源管理师算不算高级职称

目前,我国有三种考试制度,对应三种证书。即教育部门负责毕业证考试并颁发毕业证;人事部负责职称考试并颁发职称证书;国家劳动和社会保障部门负责职业资格考试并颁发职业资格证书。成都华商教育提示:有时候,职业资格证书也是国家专业主管颁发的。 毕业证考试:没什么好说的,因为你们都懂。 职称考试:全称专...

小黄车免押金怎么操作 小黄车免押金小黄车押金怎么退? 合肥ofo小黄车退押金方法及操作指南

合肥小黄车ofo不用押金就能骑。已经支付的用户可以申请退还押金。9月6日,自行车共享小黄车ofo宣布最新开通郑州、合肥、温州、珠海、绵阳、德阳六城市信用无存款服务。芝麻信用评分650分及以上的用户,可享受信用授权和免押金乘车服务,不用交押金即可用车。到目前为止,ofo信用无存款城市已达14个。小黄车ofo免押...

保护水资源手抄报 三分钟手抄报,保护水资源的环保手抄报教程

  • 保护水资源手抄报 三分钟手抄报,保护水资源的环保手抄报教程
  • 保护水资源手抄报 三分钟手抄报,保护水资源的环保手抄报教程
  • 保护水资源手抄报 三分钟手抄报,保护水资源的环保手抄报教程

保护水资源的手抄报 三分钟手抄报,保护水资源的环保手抄报教程

  • 保护水资源的手抄报 三分钟手抄报,保护水资源的环保手抄报教程
  • 保护水资源的手抄报 三分钟手抄报,保护水资源的环保手抄报教程
  • 保护水资源的手抄报 三分钟手抄报,保护水资源的环保手抄报教程

建议加强保护母语 具体是什么情况如何操作

在2020年的全国人大会议期间,如何进一步规范语言的使用,增强公民的国家认同引起了人们的关注。中共北京市委副秘书长、全国人大代表唐海龙建议,要及时修改国家通用语言文字法,突出普通话的主体地位,规范汉字在国家语言生活中的地位。同时,要提高高考和中考语文成绩的比重,突出母语的主导地位。他认为,目前全国通用语言文字...