You need to enable JavaScript to run this app.
导航

Oozie 与 Hue 适配

最近更新时间2023.03.15 13:42:45

首次发布时间2022.12.21 11:34:52

火山引擎 E-MapReduce(EMR)集群中提供 Hue 对接 Ooize 的使用,可以在 Hue 中设计 Oozie 的工作流。

1 前提条件

  1. 适合 EMR 2.x 版本,且要求是 2.1.0 以后的版本(包括 EMR 2.1.0)。详见版本概述

  2. 已创建 EMR 集群,且安装有 Oozie 组件。有两种方式可以安装Oozie组件:

    • 在创建 EMR 集群时,选择 Oozie 作为可选组件。详见创建集群

    • 对已安装 EMR 集群,您可在集群服务列表中添加 Oozie 服务。详见服务管理章节

  3. 集群的访问链接需要 emr-master-1 节点的 ECS ID 实例绑定弹性公网IP。详见绑定公网IP

  4. 需要在集群详情 > 访问链接 > 快速配置服务端口中,给源地址和对应端口添加白名单才可继续访问。

  5. 目前 Oozie 组件以白名单形式向您开放,您可通过提工单的方式,请 EMR 支持人员进行开通。

2 示例

说明

在开启 Ranger 权限管理的集群上,设计 Oozie 工作流时,需要为 Hue UI 的登录用户授予相应的权限。举例:配置 Spark 任务时,需要为 Spark 任务配置 Yarn 组件中 application 的提交权限。可参考 Yarn 集成

2.1 Spark 任务

  1. 准备 Spark 任务。将 spark-examples jar 上传到 HDFS 上:

    su hdfs -c '
    hdfs  dfs -put /usr/lib/emr/current/spark/examples/jars/spark-examples_*.jar /user/hue
    hdfs dfs -chown hue /user/hue/spark-examples*jar
    '
    
  2. 在 Hue 页面上创建 workflow:

  3. 拖动 Spark 任务:

  4. 输入 Main class:org.apache.spark.examples.SparkPi, 并点击保存按钮

  5. 点击运行按钮。

  6. 在 Job 菜单中查看任务运行情况:

2.2 Hive 任务

  1. 准备 Hive 的 sql 脚本,并上传到 HDFS 上。将下面的 sql 语句放在 master-1 节点上的/tmp/hivetest.sql 文件中:

    CREATE TABLE IF NOT EXISTS oozie_hive_test_table_1(i INT);
    INSERT INTO oozie_hive_test_table_1 VALUES(0);
    SELECT * FROM oozie_hive_test_table_1;
    

    然后执行下面命令,将 /tmp/hivetest.sql 文件上传到 HDFS 上:

    su - hue -c  'hdfs dfs -put /tmp/hivetest.sql  /user/hue'
    
  2. 在 HUE UI 上配置 Hive 作业:

    1. 添加 workflow
    2. 配置 HiveServer2 地址
  • 其中HiveServer2 URL格式如下:jdbc:hive2://emr-master-1:10000,需要按照实际情况修改。
  • Password是指 hue 用户的密码,对应 EMR 集群 OpenLdap 组件服务参数 hue_password 的值,您可前往集群详情 > 服务列表 > OpenLdap 组件服务 > 服务参数 中查看。
  1. 进行保存

  2. 执行 Hive 任务: