Oozie是一个开源的大数据工作流调度引擎,用于调度大数据作业,完成复杂的数据生产业务。本文介绍如何在E-MapReduce上使用Oozie。

前提条件

已创建E-MapReduce的Hadoop集群,并且选择了Oozie服务。详情请参见 创建集群

访问Oozie UI页面

支持以下两种方式访问:

提交Workflow作业

因为E-MapReduce集群中,默认安装了sharelib,所以您使用Oozie提交Workflow作业时,不需要再安装sharelib

  1. job.properties文件中指定不同的NameNode和JobTracker (ResourceManager)。
    • 非HA集群
      nameNode=hdfs://emr-header-1:9000
      jobTracker=emr-header-1:8032
    • HA集群
      nameNode=hdfs://emr-cluster
      jobTracker=rm1,rm2
  2. 提交Workflow作业。
    • 在非HA集群上提交Workflow作业
      1. 登录集群的主Master节点,详情请参见使用SSH连接主节点
      2. 执行以下命令,下载并解压缩示例代码。
        su oozie
        cd /tmp
        wget http://emr-sample-projects.oss-cn-hangzhou.aliyuncs.com/oozie-examples/oozie-examples.zip
        unzip oozie-examples.zip
      3. 同步Oozie Workflow代码至HDFS。
        hadoop fs -copyFromLocal examples/ /user/oozie/examples
      4. 提交Oozie Workflow样例作业。
        $OOZIE_HOME/bin/oozie job -config examples/apps/map-reduce/job.properties -run
        执行成功之后,返回如下信息。
        job: 0000000-160627195651086-oozie-oozi-W
      5. 访问Oozie UI页面,详情请参见访问Oozie UI页面

        您可以看查看提交的Oozie Workflow Job。

    • 在HA集群上提交Workflow作业
      1. 登录集群的主Master节点,详情请参见使用SSH连接主节点
        ssh root@主Master公网IP地址
      2. 执行以下命令,下载并解压缩示例代码。
        su oozie
        cd /tmp
        wget http://emr-sample-projects.oss-cn-hangzhou.aliyuncs.com/oozie-examples/oozie-examples-ha.zip
        unzip oozie-examples-ha.zip
      3. 同步Oozie Workflow代码至HDFS。
        hadoop fs -copyFromLocal examples/ /user/oozie/examples
      4. 提交Oozie Workflow样例作业。
        $OOZIE_HOME/bin/oozie job -config examples/apps/map-reduce/job.properties -run
        执行成功之后,返回如下信息。
        job: 0000000-160627195651086-oozie-oozi-W
      5. 访问Oozie UI页面,详情请参见访问Oozie UI页面

        您可以看查看提交的Oozie Workflow Job。