
# 使用Oozie客户端提交Spark2x任务
#### 操作场景
该任务指导用户在使用Oozie客户端提交Spark2x任务。
![](https://support.huaweicloud.com/cmpntguide-mrs/public_sys-resources/note_3.0-zh-cn.png)
请下载使用最新版本的客户端。
#### 前提条件
- Spark2x和Oozie组件安装完成且运行正常，客户端安装成功。 如果当前客户端为旧版本，需要重新下载和安装客户端。
  
- 已创建或获取访问Oozie服务的人机用户账号及密码。
  ![](https://support.huaweicloud.com/cmpntguide-mrs/public_sys-resources/note_3.0-zh-cn.png)
  - 该用户需要从属于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/spark2x/**
   该目录下需关注文件如[表1]所示。
    表1文件说明 
   | 文件名称           | 描述              |
   |:---|:---|
   | job.properties | 工作流的参数变量定义文件。   |
   | workflow.xml   | 工作流的规则定制文件。     |
   | lib            | 工作流运行依赖的jar包目录。 |
      
   
   
5. 执行以下命令，编辑"job.properties"文件。 
   **vi job.properties**
   修改如下内容：
   更改"userName"的参数值为提交任务的人机用户名，例如"userName=oozieuser"。
   
   
6. 执行**oozie job** 命令，运行工作流文件。
   
   **oozie job -oozie https://** *oozie角色的主机名* **:21003/oozie/ -config job.properties -run**
   ![](https://support.huaweicloud.com/cmpntguide-mrs/public_sys-resources/note_3.0-zh-cn.png)
   - 命令参数解释如下： -oozie：实际执行任务的Oozie服务器URL。
     -config：工作流属性文件。
     -run：运行工作流。
     
   
   - 执行完工作流文件，显示"job id"表示提交成功，例如"job: 0000021-140222101051722-oozie-omm-W"。登录Oozie管理页面，查看运行情况。 使用**oozieuser** 用户，登录Oozie WebUI页面：https://*oozie角色的ip地址*:21003/oozie 。
     Oozie的WebUI界面中，可在页面表格根据"job id"查看已提交的工作流信息。
     
    
   
   
 
