使用Oozie客户端提交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。
操作步骤
- 以客户端安装用户,登录安装Oozie客户端的节点。
- 执行以下命令,获取安装环境信息。其中“/opt/client”为客户端安装路径,该操作的客户端目录只是举例,请根据实际安装目录修改。
source /opt/client/bigdata_env
- 判断集群认证模式。
- 安全模式,执行kinit命令进行用户认证。
例如,使用oozieuser用户进行认证。
kinit oozieuser
- 普通模式,执行4。
- 安全模式,执行kinit命令进行用户认证。
- 执行以下命令,进入样例目录。
cd /opt/client/Oozie/oozie-client-*/examples/apps/sqoop/
该目录下需关注文件如表1所示。
- 执行以下命令,编辑“job.properties”文件。
vi job.properties
修改如下内容:
更改“userName”的参数值为提交任务的人机用户名,例如“userName=oozieuser”。
- 执行以下命令,编辑“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
- 执行oozie job命令,运行工作流文件。
oozie job -oozie https://oozie角色的主机名:21003/oozie/ -config job.properties -run