温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。


Fayson的github:

​https://github.com/fayson/cdhproject​


提示:代码块部分可以左右滑动查看噢


感谢群友rong和王峰提出问题并解决问题:

0475-如何统一Hue和Oozie的时区_图片放大0475-如何统一Hue和Oozie的时区_cloudera_02



1

文档编写目的


在前面的文章中,Fayson介绍过《如何修改Cloudera Manager的时区》,《如何修改Hue的时区》和《如何修改CDSW会话的时区》。在使用Hue创建调度任务的过程中,我们会发现Hue的时区与Oozie的调度时间不一致。默认Oozie使用的时区为UTC,在创建调度作业时还需要考虑在当前的时间减去8个小时才能达到我们的预期。在使用上非常不方便,这里Fayson主要介绍如何统一Hue和Oozie的时区。


  • 测试环境

1.RedHat7.2

2.CM和CDH版本为5.15.0


2

设置Hue时区


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


1.登录Cloudera Manager进入Hue的配置页面搜索“time_zone”


0475-如何统一Hue和Oozie的时区_cloudera_03


2.将时区修改为Asia/Shanghai


0475-如何统一Hue和Oozie的时区_图片放大_04


保存配置,并重启Hue服务即可,以上完成Hue服务时区的设置。


3

修改Oozie时区


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


1.登录Cloudera Manager 进入Ooize服务的配置界面搜索“oozie-site.xml”


0475-如何统一Hue和Oozie的时区_hadoop_05


2.在oozie-site.xml配置项中增加如下配置:


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


0475-如何统一Hue和Oozie的时区_图片放大_06


完成后保存并重启Oozie服务。


4

Oozie调度测试


1.登录Hue创建一个调度任务


0475-如何统一Hue和Oozie的时区_图片放大_07


2.选择定时调度的WorkFlow及调度周期


0475-如何统一Hue和Oozie的时区_图片放大_08


3.保存成功后,点击运行按钮


0475-如何统一Hue和Oozie的时区_cloudera_09


可以看到显示的开始时间和结束时间与本地时间一致,在未修改时区前这个开始和结束时间会以Hue的配置的时区显示时间。


4.任务提交成功后会更加调度周期生成多个Task


0475-如何统一Hue和Oozie的时区_hadoop_10


为每个Task定义了一个编号及调度时间,这些时间显示都与本地时间一致,更方便直观的显示调度周期。


5

总结


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



提示:代码块部分可以左右滑动查看噢


为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。


推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

0475-如何统一Hue和Oozie的时区_图片放大_11