spark源码解析1-master启动流程

1、在start-master.sh脚本中调用Mater.scala中的main方法
2、在main方法中封装spark参数,并调用startRpcEnvAndEndpoint()创建RpcEnv
3、在startRpcEnvAndEndpoint中创建RpcEnv(AkkaSystem),创建masterEndPoint(actor),new Master(),实例化Master
4、实例化Master后会调用Master的Onstart()方法
5、在onStart()中启动webinfo,然后通过定时器循环发送消息给自己
        self.send(CheckForWorkerTimeOut),通过case object执行
6、在case Object中调用timeOutDeadWorker(),检查超时的work
7、在timeOutDeadWorker()中检查超时的worker,调用removeWorker(worker)删除节点,原理就是修改3个集合,其中,会对每个节点尝试15次检查。
8、master启动完成后,在recive()方法中定义大量的case object,等待接受其他actor的请求
原文地址:https://www.cnblogs.com/haoyy/p/6201904.html