在job提交处打断点然后进行 DEBUG:
1.判断JobState是否是DEFINE
2.进入submit(),确保状态是否正确
3.进入setUseNewAPI(),处理新旧API兼容性
4.进入connect(),里面有两个客户端:YARN客户端和本地客户端
5.进入核心代码job提交过程,检查输出路径,创建一个 job ID 和给出一个新的目录(并未创建),之后是对缓存一些相关的处理
6.进入copyAndConfigureFiles(),创建了之前的job目录,向集群提交jar包(通过客户端方式,本地模式则不需要提交)
7.切片(在之前的目录出现文件 对应切片信息)往下执行会在控制台打印出来切片信息
8.执行完 writeConf() 后之前的目录下多出两个文件job.xml和其校验文件(如果是集群模式还有 jar 包) (重点)
9.往下进行 JobState 从 DEFINE 变为 RUNNING
10.回到 submit(),之后是监控程序代码
11.往下进行,则会删除上述的缓存信息
12.在控制台打印输出