spark内核解析——spark master和worker的启动

时间:2024-04-07 18:03:37

更好的理解spark——spark master和worker的启动

spark内核解析——spark master和worker的启动
1、master通过start-master.sh 启动之后,首先创建了RpcENV。设置了MasterEndpoint这种通讯环境,然后通过onstart来初始化了自己的服务,通过receive和receiveAndReplay方法来初始化了消息体系。
2、worker通过start-slave.sh 启动之后,首先创建了RpcENV,设置了WorkerEndpoint通讯环境,然后获取masterEndpointRef代理能主动向master主动发送消息。然后通过onstart来初始化了自己的服务,通过receive和receiveAndReplay方法来初始化了消息体系。
3、worker在onstart方法里面启动了RegisterWork,master收到消息之后,将worker设置成workinfo对象,保存到hashset,然后返回RegisteredWorker消息。
4、worker在收到RegisteredWorker消息之后,然后启动轮训发送心跳。
5、master在onstart方法中,启动了轮训检查超时,mater在收到心跳之后,更新workerInfo的最终心跳时间。