oozie日志查看 oozie日志过滤

Posted xiaofeng_37

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oozie日志查看 oozie日志过滤相关的知识,希望对你有一定的参考价值。

在很多中小型公司,oozie作为调度框架应用还是较为广泛的。oozie其实支持多种丰富类型的action,但在实际使用中可能大多数开发会直接选择sh action(俺也一样 …)。
在开发调试和上线的过程中,日志的查看都很重要,可以帮助我们了解ooize工作的基本流程和快速定位错误。

文章目录


一、怎么查看oozie日志?

# 普通日志
oozie job -log workflowId/coordId
# 错误日志
oozie job -errorlog workflowId/coordId

二、日志过滤

1. 使用shell命令,简单粗暴

方法就是直接在上述日志查看命令后使用head、tail、grep、sed、cut等各种命令组合获取到自己想要的日志,也能满足需求,不过实际工作中发现当历史日志(尤其针对coord日志,因为包含所有历史周期任务日志)很多的时候,使用tail等过滤最新日志速度会非常缓慢,此时便不得不考虑使用官方提供的命令参数对日志进行过滤了。

2.oozie日志过滤参数

日志过滤参数讲解官方文档链接

# 用法 User can provide multiple option to filter logs using 
oozie job -log wj/coord -logfilter opt1=val1\\;opt2=val1\\;opt3=val1
# ;前的\\用于转义,如果使用""则无需转义"opt1=val1;opt2=val1"
# 简单解释
recent:使用距离当前的时间间隔过滤。单位为时或分,分别用H/h或M/m表示,默认为时
start:直接定义日志开始的时间。时间格式"yyyy-MM-dd'T'HH:mm'Z'""yyyy-MM-dd HH:mm:ss,SSS"
end:直接定义日志结束的时间。格式同上
loglevel:定义日志的类型。可选ALL, DEBUG, ERROR, INFO, TRACE, WARN, FATAL(必须大写,多个用"|"隔开即可)
limit:限制日志返回条数

# 官方原文
recent: Specify recent hours/min of logs to scan. The recent offset specified is taken relative to the end time specified, job end time or the current system time if the job is still running in that order of precedence. For eg: recent=3h or recent=30m will fetch logs starting 3 hours/30 minutes before the end time and up to the end time. H/h is used to denote hour and M/m is used to denote minutes. If no suffix is specified default is hours.
start: Start time for scanning logs. Default is start time of the job. User can provide a valid date or offset similar to recent option. Valid date formats are "yyyy-MM-dd'T'HH:mm'Z'" and "yyyy-MM-dd HH:mm:ss,SSS". When an offset is specified, it is calculated relative to the start time of the job. For eg: start=2h will fetch logs starting 2 hours after the job was started.
end: End time for scanning logs. Default is end time of the job or current system time if the job is still running. User can provide a valid date or offset similar to start option. When an offset is specified, it is calculated relative to start time i.e job start time . For eg: end=2h will fetch logs from start time and start time plus 2 hours.
loglevel : Multiple log levels separated by "|" can be specified. Supported log levels are ALL, DEBUG, ERROR, INFO, TRACE, WARN, FATAL.
text: String to search in logs.
limit : Limit number of line to be searched. Log search will end when when n lines(excluding stack-trace) have been matched.
debug : Prints debug information on the log files, time ranges and patterns being searched for. Can be used to debug if expected logs are not shown with the filter options provided.


总结

使用oozie help log可查看到下述帮助文档,但是解释属实过于简单了,其实很久前就看到了,没看明白用法也懒得翻文档就放弃了,现在历史日志实在是太多了,使用方法一需要时间过长,不得已又去求助了官方文档 。。。
建议大家有啥需求也都去官方网站看看,会获益匪浅的,新的一年大家一起变得更强!

以上是关于oozie日志查看 oozie日志过滤的主要内容,如果未能解决你的问题,请参考以下文章

在 Oozie 4.2 中禁用工作流错误日志

大数据基础之Oozie常见问题

我们可以在 oozie 工作流 xml 中访问整个 hadoop 作业日志吗?

创建 oozie 数据库架构时出错

大数据组件之oozie

Oozie 协调器调度使用 cron 表达式给出错误