关于调整Oozie时区为GMT+0800后,导致HUE Oozie的Bundle提交失败的问题解决方案

版本:

HUE:3.12.0

一、HUE Bundle 问题

如果将 Oozie 时区设置为 GMT+0800 后,在 HUE 3.12.0 版本中,提交 Oozie Bundle 时,会出现:

Bundle Job submission Error: [E1301: Could not read the bundle job definition, [Could not parse [2019-04-30T16:09Z] using [yyyy-MM-dd'T'HH:mm+0800] mask]]

关于调整Oozie时区为GMT+0800后,导致HUE Oozie的Bundle提交失败的问题解决方案

二、解决办法

修改 HUE 源码:

1、apps/oozie/src/oozie/utils.py

在该文件的开头部分,修改 GMT_TIME_FORMAT 的值,修改为下图这样:

关于调整Oozie时区为GMT+0800后,导致HUE Oozie的Bundle提交失败的问题解决方案

还是 utils.py 这个文件,修改并添加如下部分:

关于调整Oozie时区为GMT+0800后,导致HUE Oozie的Bundle提交失败的问题解决方案

2、apps/oozie/src/oozie/models2.py

开头添加 import :

关于调整Oozie时区为GMT+0800后,导致HUE Oozie的Bundle提交失败的问题解决方案

将该文件的 utc_datetime_format 全部替换为 gmt_datetime_format ;UTC_TIME_FORMAT 全部替换为 GMT_TIME_FORMAT 。

关于调整Oozie时区为GMT+0800后,导致HUE Oozie的Bundle提交失败的问题解决方案

关于调整Oozie时区为GMT+0800后,导致HUE Oozie的Bundle提交失败的问题解决方案

三、重新编译HUE源码,成功后重启HUE服务

具体如何准备 HUE 编译环境,可以看我之前写的文章,HUE简介及编译

最后结果就是:在基于 Oozie 的 GMT+0800 时区,可以使用HUE里面的 Bundle,Bundle 成功提交后如下图所示:

关于调整Oozie时区为GMT+0800后,导致HUE Oozie的Bundle提交失败的问题解决方案

关于 HUE 其它文章,可点击 HUE系列文章 查看。


关于调整Oozie时区为GMT+0800后,导致HUE Oozie的Bundle提交失败的问题解决方案