更新时间:2024-07-24 GMT+08:00

使用Oozie客户端提交Hive任务

操作场景

该任务指导用户在使用Oozie客户端提交Hive任务

Hive任务有如下类型:

  • Hive作业

    使用JDBC方式连接的Hive作业。

  • Hive2作业

    使用Beeline方式连接的Hive作业。

本文以使用Oozie客户端提交Hive作业为例介绍。

  • 使用Oozie客户端提交Hive2作业与提交Hive作业操作步骤一致,只需将操作步骤中对应路径的“/Hive”改成“/Hive2”即可。

    例如,Hive作业运行目录“/opt/client/Oozie/oozie-client-*/examples/apps/hive/”,则Hive2对应的运行目录为“/opt/client/Oozie/oozie-client-*/examples/apps/hive2/”。

  • 建议下载使用最新版本的客户端。

前提条件

  • Hive和Oozie组件及客户端已经安装,并且正常运行。
  • 已创建或获取访问Oozie服务的人机用户账号及密码。
    • 该用户需要从属于hadoop、supergroup、hive组,同时添加Oozie的角色操作权限。如果使用Hive多实例,该用户还需要从属于具体的Hive实例组,如hive3。
    • 用户同时还需要至少有manager_viewer权限的角色。
  • 获取运行状态的Oozie服务器(任意实例)URL,如“https://10.1.130.10:21003/oozie”。
  • 获取运行状态的Oozie服务器主机名,如“10-1-130-10”。
  • 获取Yarn ResourceManager主节点IP,如10.1.130.11。

操作步骤

  1. 以客户端安装用户,登录安装Oozie客户端的节点。
  2. 执行以下命令,获取安装环境信息。其中“/opt/client”为客户端安装路径,该操作的客户端目录只是举例,请根据实际安装目录修改。

    source /opt/client/bigdata_env

  3. 判断集群认证模式。

    • 安全模式,执行kinit命令进行用户认证。

      例如,使用oozieuser用户进行认证。

      kinit oozieuser

    • 普通模式,执行4

  4. 执行以下命令,进入样例目录。

    cd /opt/client/Oozie/oozie-client-*/examples/apps/hive/

    该目录下需关注文件如表1所示。

    表1 文件说明

    文件名称

    描述

    hive-site.xml

    Hive任务的配置文件。

    job.properties

    工作流的参数变量定义文件。

    script.q

    Hive任务的SQL脚本。

    workflow.xml

    工作流的规则定制文件。

  5. 执行以下命令,编辑“job.properties”文件。

    vi job.properties

    修改如下内容:

    更改“userName”的参数值为提交任务的人机用户名,例如“userName=oozieuser”

  6. 执行oozie job命令,运行工作流文件。

    oozie job -oozie https://oozie角色的主机名:21003/oozie/ -config job.properties -run

    • 命令参数解释如下:

      -oozie 实际执行任务的Oozie服务器URL

      -config 工作流属性文件

      -run 运行工作流

    • 执行完工作流文件,显示job id表示提交成功,例如:job: 0000021-140222101051722-oozie-omm-W。登录Oozie管理页面,查看运行情况。

      使用oozieuser用户,登录Oozie WebUI页面:https://oozie角色的ip地址:21003/oozie 。

      Oozie的WebUI界面中,可在页面表格根据jobid查看已提交的工作流信息。