首页 > 技术文章 > Master 接受其它组件的注册

langfanyun 2017-12-16 21:24 原文

Master对其它组件注册的处理:

  1. Master接受注册的对象主要就是: Driver、Application、Worker。注意:Executor 不会向 Master 注册,它是向 Driver 中的 SchedulerBackend 注册的。
  2. Worker是在启动后主动向Master注册的。所以无需重新启动Spark集群,即可以直接向集群中添加新的Worker。
  3. Master 在接收到Worker注册请求后,会首先判断一下当前的master是否是Standby的状态,如果是就不处理;如果不是,会判断当前Master的内存数据结构idToWorker中是否已经有该Worker的注册信息,如果有的话,不会重复注册。

Master如果决定接收注册的Worker,首先会创建WorkerInfo对象 ,来保存注册的Worker的信息。

注意:SparkContext 初始化时,会实例化SparkDeploySchedulerBackend,其内部有AppClient,而AppClient内部有ClientEndpoint。ClientEndpoint 会发送 RegisterApplication 给Master

 

推荐阅读