
# 使用Oozie客户端提交Hive任务
#### 操作场景
该任务指导用户在使用Oozie客户端提交Hive任务
Hive任务有如下类型：
- Hive作业 使用JDBC方式连接的Hive作业。
  
- Hive2作业 使用Beeline方式连接的Hive作业。
  
本文以使用Oozie客户端提交Hive作业为例介绍。
![](https://support.huaweicloud.com/cmpntguide-mrs/public_sys-resources/note_3.0-zh-cn.png)
- 使用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服务的人机用户账号及密码。
  ![](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/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**
   ![](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界面中，可在页面表格根据jobid查看已提交的工作流信息。
     
    
   
   
 
