通过oozie job id可以查看流程详细信息,命令如下:

oozie job -info 0012077-180830142722522-oozie-hado-W

流程详细信息如下:

Job ID : 0012077-180830142722522-oozie-hado-W

------------------------------------------------------------------------------------------------------------------------------------

Workflow Name : test_wf

App Path      : hdfs://hdfs_name/oozie/test_wf.xml

Status        : KILLED

Run           : 0

User          : hadoop

Group         : -

Created       : 2018-09-25 02:51 GMT

Started       : 2018-09-25 02:51 GMT

Last Modified : 2018-09-25 02:53 GMT

Ended         : 2018-09-25 02:53 GMT

CoordAction ID: -

Actions

------------------------------------------------------------------------------------------------------------------------------------

ID                                                                            Status    Ext ID                 Ext Status Err Code

------------------------------------------------------------------------------------------------------------------------------------

0012077-180830142722522-oozie-hado-W@:start:                                  OK        -                      OK         -

------------------------------------------------------------------------------------------------------------------------------------

0012077-180830142722522-oozie-hado-W@test_spark_task                  ERROR     application_1537326594090_5663FAILED/KILLEDJA018

------------------------------------------------------------------------------------------------------------------------------------

0012077-180830142722522-oozie-hado-W@Kill                                     OK        -                      OK         E0729

------------------------------------------------------------------------------------------------------------------------------------

失败的任务定义如下

<action name="test_spark_task">

<spark xmlns="uri:oozie:spark-action:0.1">

<job-tracker>${job_tracker}</job-tracker>

<name-node>${name_node}</name-node>

<master>${jobmaster}</master>

<mode>${jobmode}</mode>

<name>${jobname}</name>

<class>${jarclass}</class>

<jar>${jarpath}</jar>

<spark-opts>--executor-memory 4g --executor-cores 2 --num-executors 4 --driver-memory 4g</spark-opts>

</spark>

在yarn上可以看到application_1537326594090_5663对应的application如下

application_1537326594090_5663       hadoop oozie:launcher:T=spark:W=test_wf:A=test_spark_task:ID=0012077-180830142722522-oozie-hado-W         Oozie Launcher

查看application_1537326594090_5663日志发现

2018-09-25 10:52:05,237 [main] INFO  org.apache.hadoop.yarn.client.api.impl.YarnClientImpl  - Submitted application application_1537326594090_5664

yarn上application_1537326594090_5664对应的application如下

application_1537326594090_5664       hadoop    TestSparkTask SPARK

即application_1537326594090_5664才是Action对应的spark任务,为什么中间会多一步,类结构和核心代码详见 https://www.cnblogs.com/barneywill/p/9895225.html

简要来说,Oozie执行Action时,即ActionExecutor(最主要的子类是JavaActionExecutor,hive、spark等action都是这个类的子类),JavaActionExecutor首先会提交一个LauncherMapper(map任务)到yarn,其中会执行LauncherMain(具体的action是其子类,比如JavaMain、SparkMain等),spark任务会执行SparkMain,在SparkMain中会调用org.apache.spark.deploy.SparkSubmit来提交任务

如果提交的是spark任务,那么按照上边的方法就可以跟踪到实际任务的applicationId;
如果你提交的hive2任务,实际是用beeline启动,从hive2开始,beeline命令的日志已经简化,不像hive命令可以看到详细的applicationId和进度,这时有两种方法:

1)修改hive代码,使得beeline命令和hive命令一样有详细日志输出

详见:https://www.cnblogs.com/barneywill/p/10185949.html

2)根据application tag手工查找任务

oozie在使用beeline提交任务时,会添加一个mapreduce.job.tags参数,比如

--hiveconf
mapreduce.job.tags=oozie-9f896ad3d40c261235dc6858cadb885c

但是这个tag从yarn application命令中查不到,只能手工逐个查找(实际启动的任务会在当前LuancherMapper的applicationId上递增),

然后就可以看到实际启动的applicationId了

另外还可以从job history server上看到application的详细信息,比如configuration、task等

查看hive任务执行的完整sql详见:https://www.cnblogs.com/barneywill/p/10083731.html

转载于:https://www.cnblogs.com/barneywill/p/10109487.html

【原创】大叔经验分享(6)Oozie如何查看提交到Yarn上的任务日志相关推荐

  1. 【原创】经验分享:一个小小emoji尽然牵扯出来这么多东西?

    前言 之前也分享过很多工作中踩坑的经验: 一个线上问题的思考:Eureka注册中心集群如何实现客户端请求负载及故障转移? [原创]经验分享:一个Content-Length引发的血案(almost-) ...

  2. 【原创】大叔经验分享(33)hive select count为0

    hive建表后直接将数据文件拷贝到table目录下,select * 可以查到数据,但是select count(1) 一直返回0,这个是因为hive中有个配置 hive.stats.autogath ...

  3. 【原创】大叔经验分享(27)linux服务器升级glibc故障恢复

    redhat6系统默认安装的glibc-2.12,有的软件依赖的是glibc-2.14,这时需要升级glibc,下载安装 http://ftp.gnu.org/gnu/glibc/glibc-2.14 ...

  4. python no module named pandas_【原创】大叔经验分享(11)python引入模块报错ImportError: No module named pandas numpy...

    python应用通常需要一些库,比如numpy.pandas等,安装也很简单,直接通过pip # pip install numpy Requirement already satisfied: nu ...

  5. hue访问mysql,【原创】大叔经验分享(50)hue访问mysql(librdbms)

    cloudera manager安装hue后想开启访问mysql(librdbms)需要在这里配置(hue_safety_valve.ini) 添加配置如下 [librdbms]#The RDBMS ...

  6. 【原创】大叔经验分享(30)CM开启kerberos

    kerberos安装详见:https://www.cnblogs.com/barneywill/p/10394164.html 一 为CM创建用户 # kadmin.local -q "ad ...

  7. 【原创】大叔经验分享(65)spark读取不到hive表

    spark 2.4.3 spark读取hive表,步骤: 1)hive-site.xml hive-site.xml放到$SPARK_HOME/conf下 2)enableHiveSupport Sp ...

  8. 【原创】大叔经验分享(25)hive通过外部表读写hbase数据

    在hive中创建外部表: CREATE EXTERNAL TABLE hive_hbase_table( key string, name string, desc string ) STORED B ...

  9. CS的陋室60w字原创算法经验分享-2022版

    哈喽,在此给大家带来我的文章合集2022版. 相比上次更新,有如下更新点: 新系列和老系列做了切分,分成新系列和老系列两本合集. 新增近期更新的左右内容,2022年5月及前所有的"前沿重器& ...

最新文章

  1. Java堆和栈的基本理解
  2. sscanf用法总结
  3. 用深度学习模型,解构并重构人类思维
  4. iOS-iOS9.Plist插入网络安全xml
  5. Linux上使用find、xargs、grep递归的查找指定文件类型中的内容
  6. Android入门:实现一个File存储的辅助类
  7. shell 获取ora报错信息_ORA-04030: 在尝试分配...字节(...)时进程内存不足的原因分析...
  8. C语言判断树是否为求和树(附完整源码)
  9. 2019 年百度之星·程序设计大赛 - 初赛一 C. HDU 6670 Mindis 离散化+dijkstra
  10. 二维数组常用的赋值方式
  11. 插入排序---希尔插入排序算法(Javascript版)
  12. android 下载器布局,Android Studio下载约束布局失败
  13. C++字符串操作总结
  14. java 九大内置对象_JSP九大内置对象(隐式对象)
  15. python3文档字符串_python3基础:字符串、文本文件
  16. if 语句错误,提示Conditon is always ‘‘alse‘
  17. 原生js实现简易的可旋转伸缩连线效果代码
  18. SaaSBase:什么是Teambition?
  19. android so 签名校验,Android-NDK-之so文件签名校验
  20. web术语chm_笨客户端的20个Web设计行业术语

热门文章

  1. (一)MySQL优化之索引优化
  2. 标准C语言各种时间函数用法,使用c语言标准库中的时间函数
  3. djpython教程_简单介绍Python的Django框架的dj-scaffold项目
  4. Maven学习(二)————Maven核心概念(一)
  5. 深入理解Tomcat和Jetty源码之第二篇servlet规范和servlet容器
  6. 怎么打包图片_怎么将许多张照片打包发到邮箱?
  7. 腾讯x5加载本地html乱码,腾讯X5内核播放器遇到的问题
  8. linux开发板显示百叶窗图片,03Linux命令操作2
  9. Lingo计算最优解
  10. linux复制目录命令夹,linux复制目录(文件夹)和打包命令