Master发送LaunchDriver和LaunchExecutor到Worker
LaunchDriver
-DriverRunner
内部使用Thread来处理Driver的启动。
1.创建Driver在本地文件系统的工作目录。
2.封装好Driver的启动Command,并通过ProcessBuilder来启动Driver。
3.Driver进程
LaunchExecutor
-ExecutorRunner
内部使用Thread来处理Executor的启动
创建Executor。
1.创建Executor的在本地文件系统的工作目录
2.封装启动Executor的Command,并使用ProcessBuilder来启动Executor
3.Executor进程
Executor进程要向Driver注册给SchedulerBankend
一、Worker启动Driver
1.Cluster中的Driver失败的时候,如果supervise为true,则启动该Driver的Worker会负责重新启动该Driver
2.DriverRunner启动进程是通过ProcessBuilder中的process.get.waitFor来完成。