文章目录
  1. Oozie-8_高级配置
  2. 1. 时区的配置
  3. 2. oozie launcher 分队列运行
  4. 3. High Availability (HA)
  5. 4. 三方jar

Oozie-8_高级配置

[TOC]

1. 时区的配置

由于Oozie默认使用的是 UTC 的时区,所以我们在提交 Coordinator Job的时候,会发现启动和结束等时间不对。由于中国在东八区,一种方式是可以将时间减去8h,来表示Oozie的执行时间(有点混乱,不推荐)。
还有种方式如下:

  • 修改全局的 timezone 时区, 在 oozie-site.xml 文件中配置如下:
1
2
3
4
5
6
7
8
9
10
<property>
<name>oozie.processing.timezone</name>
<value>GMT+0800</value>
<description>
Oozie server timezone. Valid values are UTC and GMT(+/-)####, for example 'GMT+0530' would be India
timezone. All dates parsed and genered dates by Oozie Coordinator/Bundle will be done in the specified
timezone. The default value of 'UTC' should not be changed under normal circumtances. If for any reason
is changed, note that GMT(+/-)#### timezones do not observe DST changes.
</description>
</property>
  • 以后提交 Coordinator Job 的时候,修改参数如下:
1
2
1. 修改 timezone 为 GMT+0800
2. 修改 start 和 end 时间格式,比如以前是 2016-01-01T00:00Z 的格式。那么现在需要修改成 2016-01-01T00:00+0800 的格式,然后提交

2. oozie launcher 分队列运行

场景:比如一个oozie任务里面有个sqoop任务,那么在提交给yarn执行的时候是会分成两个任务执行的。即 oozie launcheraction(sqoop)两个任务。且默认情况下是在一个队列中执行。由于一个队列执行的任务数量有限(可配置),当多个oozie launcher 同时执行时,action(sqoop)任务没法开启。。这样就会导致死锁的问题。

参考:

解决:

1
2
3
4
5
6
7
8
9
10
11
## 公平调度器的参考:
* http://t.dbdao.com/archives/hadoop-fair-scheduler.html
* http://hadoop.apache.org/docs/r2.6.0/hadoop-yarn/hadoop-yarn-site/FairScheduler.html

在使用hadoop 公平调度器的情况下,在oozie的执行任务中加入配置(可以是全局配置)如下:
<property>
<name>oozie.launcher.mapred.job.queue.name</name>
<value>oozie</value>
</property>

## 这样 oozie launcher 就会在 oozie 的队列中执行,而其他类型的任务还是像以前一样指定执行队列即可。

3. High Availability (HA)

Oozie允许针对同一台数据库建立 许多的 Oozie Servers,来提供高可用的 Oozie 服务。

前提:

  • 1、 数据库支持多并发连接, 默认的Derby不支持。
  • 2、 Zookeeper协调。
1
2
Apache ZooKeeper 是一个分布式、开源的分布式应用服务协调者。Oozie就使用它进行Oozie服务之间的通信。为了达到高可用最大化,至少需要3台Zookeeper服务器。
ZK的官网 http://zookeeper.apache.org/
  • 3、 虽然不是强制性,但最好每个Oozie Server的配置都一致。

  • 4、负载均衡,虚拟 IP 或者 Round-Robin DNS

1
2
这么做是为了给 用户访问 或者 JobTracker/ResourceManager的url回调 提供一个统一的单个访问切入点。负载均衡器需要在Oozie服务之前实现分布式请求的转发,用户访问(Oozie Client,浏览器 或者 REST API)应该连接负载均衡器。
为了达到一个 full HA,负载均衡最好也有HA的支持,否则会出现单点故障。

配置步骤:

  • 1、正常配个多个Oozie Servers(配置一致)。确保它们连接的同一台数据库,且 不要启动它们 。

4. 三方jar

http://blog.csdn.net/bluishglc/article/details/46005269

文章目录
  1. Oozie-8_高级配置
  2. 1. 时区的配置
  3. 2. oozie launcher 分队列运行
  4. 3. High Availability (HA)
  5. 4. 三方jar