统一hue与oozie时区

血红的双手。 提交于 2020-02-28 14:43:28

1 背景

在使用Hue创建调度任务的过程中,我们会发现Hue的时区与Oozie的调度时间不一致。默认Oozie使用的时区为UTC,在创建调度作业时还需要考虑在当前的时间减去8个小时才能达到我们的预期。

2 现象描述

使用Hue创建一个调度
步骤如下:
step1:创建调度
在这里插入图片描述
step2:设置时间以及时区

step3:保存
在这里插入图片描述
step4:提交
在这里插入图片描述
在这里插入图片描述
此时,可以发现创建调度时设置的时间与实际调度时间不一致,两者相差了8小时!!

3 解决——将Hue与Oozie配置为统一时区

1) 设置Hue时区  
Hue的默认时区为America/Los_Angeles,这里需要在CM上将Hue的时区修改为Asia/Shanghai。

step1:登录Cloudera Manager进入Hue的配置页面
在这里插入图片描述
step2:搜索“time_zone”,将时区修改为Asia/Shanghai
在这里插入图片描述
step3:保存配置,并重启Hue服务即可,以上完成Hue服务时区的设置。

2) 修改Oozie时区
Oozie默认时区为UTC,如果在Hue上创建调度任务会发现要让调度任务与期望的时间一致,则需要在当前时间减去8个小时,在使用上非常不方便,那在下面的步骤就说明如何设置Oozie的时区。

step1:登录Cloudera Manager 进入Ooize服务的配置界面在这里插入图片描述
step2:进行配置项搜索“oozie-site.xml”,在该配置项添加如下配置:

<property>
    <name>oozie.processing.timezone</name>
    <value>GMT+0800</value>
</property>

在这里插入图片描述
step3:保存后重启服务完成配置

4 结果

按上述2中的步骤重新创建一个调度,如下
在这里插入图片描述
注: 调度时间为10:30
在这里插入图片描述
此时,任务时间同样为10:30
即配置已完成且生效!!

5 总结

Hue的默认时区为America/Los_Angeles,而Oozie的默认时区为UTC,在使用Hue创建Oozie的调度任务时由于时区与本地时区不一致,会造成开发人员创建的调度任务与预期调度周期不符问题,解决该问题最好的方式将Hue和Oozie的时区与本地时区统一。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!