Spark中Worker和Master的作用是什么

发布时间:2021-07-30 14:56:44 作者:chen
来源:亿速云 阅读:916

本篇内容介绍了“Spark中Worker和Master的作用是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Worker和Master是Spark独立集群里用到的类。如果是yarn环境部署,是不需要这两个类的。

Master是Spark独立集群的控制者,Worker是工作者,一个Spark独立集群需要启动一个Master和多个Worker。Spark提供了Master选举功能,保障Master挂掉的时候能选出另一个Master,做一个切换的动作,这块原理和ZooKeeper类似,这里知道概念就可以了。

Master的功能一是管理Worker的注册和注销、状态变更等,维护集群的元数据;而是管理Driver的提交运行。

当spark程序运行driver时,会通过StandaloneScheduleBackend来调度分区任务的执行,这时候在StandaloneScheduleBackend里面会有一个StandaloneAppClient负责与Master通信,发送RegisterApplication消息给Master,Master将等待运行的app信息记录下来,等待schedule方法的调度,RegisterApplication里包含了要执行的Driver的信息(Driver就是我们的spark程序的main方法要做的事)。

Master在进度调度(schedule方法)的时候,然后选择一个Worker作为Driver的执行者,这时会发送LaunchDriver消息给Worker,Worker收到后在本地启动Driver。

Master和Worker是机器层面的概念,和Executor、Driver是两码事,这点要注意的。ScheduleBackend是处理Driver和Executor之间的消息通信的。

CoarseGrainedSchedulerBackend是Driver的SchedulerBackend,是公共部分。独立集群的StandaloneSchedulerBackend其实就是继承了CoarseGrainedSchedulerBackend,共用了与Executor交互的公共代码,比如LaunchTask消息的处理等。

在Executor上运行的是CoarseGrainedExecutorBackend,CoarseGrainedExecutorBackend负责接收Driver发送的消息,回复Driver等。

CoarseGrainedSchedulerBackend发送LaunchTask消息给Executor的CoarseGrainedExecutorBackend,CoarseGrainedExecutorBackend收到LaunchTask后调用Executor的launchTask方法来执行Task。

“Spark中Worker和Master的作用是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. Giraph源码分析(四)—— Master 如何检查Worker启动成功
  2. Giraph源码分析(二)—启动Master/Worker服务

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

spark

上一篇:Redis列表的介绍及用法

下一篇:怎么用WordPress给文章添加百度是否已收录查询和显示功能

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》