更新时间:2024-11-29 GMT+08:00

提交Loader任务

操作场景

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

请下载使用最新版本的客户端。

前提条件

  • Loader和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。
  • 创建需要调度的Loader作业,并获取该作业ID。

操作步骤

  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/sqoop/

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

    表1 文件说明

    文件名称

    描述

    job.properties

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

    workflow.xml

    工作流的规则定制文件。

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

    vi job.properties

    修改如下内容:

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

  6. 执行以下命令,编辑“workflow.xml”文件。

    vi workflow.xml

    修改如下内容:

    “command”的值修改为需要调度的已有Loader作业ID,例如1。

    “workflow.xml”文件上传至 "job.properties" 文件中的HDFS路径。

    hdfs dfs -put -f workflow.xml /user/userName/examples/apps/sqoop

  7. 执行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查看已提交的工作流信息。