您好,登录后才能下订单哦!
本篇内容介绍了“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的作用是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。