- 在worker启动时,通过脚本start-slave.sh脚本中调用main()
- 在main()中封装参数,调用startRpcEnvAndEndpoint()创建RpcEnv
- 在startRpcEnvAndEndpoint()中创建RpcEnv和endpiont,并实例化Worker,执行Worker的onStart()方法
- 在onStart()方法中主要流程:
- 创建工作目录
- 启动shuffleservice
- 创建worker webui
- 调用registerWithMaster()向master注册worker
- 在registerWithMaster()方法中"
- 首先worker回向master注册自己
- 其次会启动定时任务,不断的向自己发送caseclass,调用reregisterWithMaster()
- 在reregisterWithMaster()方法中,如果之前的注册失败,会重复(15、16次)注册自己
- 如果在registerWithMaster()中注册成功,master会向worker发送case object RegisteredWorker,worker接收到消息后,会定时向master发送心跳
- master接收到心跳信息后,会修改worker的上次心跳时间
- 创建工作目录
- 启动shuffleservice
- 创建worker webui
- 调用registerWithMaster()向master注册worker
- 首先worker回向master注册自己
- 其次会启动定时任务,不断的向自己发送caseclass,调用reregisterWithMaster()