为何指定Oozie协调器任务无法在全量任务列表中显示?
问题分析与解决
这是因为Oozie的jobs命令默认只会返回特定状态的协调器任务,而WAITING状态的任务不在默认的查询范围内。
具体原因
Oozie协调器任务的默认查询状态集合通常包含RUNNING、PREP、SUSPENDED等,但不包含WAITING。当你的Spark任务处于WAITING状态时,不带状态过滤的全量查询就会自动排除它;而你用-filter name=xxx的命令时,相当于覆盖了默认的状态过滤规则,会返回所有状态下匹配名称的任务,所以能查到它。
解决方法
要在全量查询中包含WAITING状态的任务,你需要显式指定状态过滤条件,比如:
oozie jobs -oozie http://localhost:11000/oozie -jobtype coord -filter status="ALL"
或者更精确地指定包含WAITING和其他你需要的状态:
oozie jobs -oozie http://localhost:11000/oozie -jobtype coord -filter status="RUNNING,WAITING,PREP"
验证
执行上面的命令后,你应该就能看到处于WAITING状态的SparkMyJobCoordinator任务了,和你用名称过滤查询到的结果一致。
内容的提问来源于stack exchange,提问作者Vulpo
相关产品推荐
相关产品推荐

