更新时间:2024-11-29 GMT+08:00
从零开始使用Oozie
Oozie是一个基于工作流引擎的开源框架,能够提供对Hadoop作业的任务调度与协调。
Oozie支持提交多种类型任务,例如Hive、Spark、Loader、Mapreduce、Java、DistCp、Shell、HDFS、SSH、SubWorkflow、Streaming、定时任务等。
本章节指导用户通过使用Oozie客户端提交MapReduce任务。
前提条件
已安装客户端。例如安装目录为“/opt/client”,以下操作的客户端目录只是举例,请根据实际安装目录修改。
操作步骤
- 以客户端安装用户,登录安装客户端的节点。
- 执行以下命令,切换到客户端安装目录。假如客户端安装目录为:/opt/client,请根据实际安装目录修改。
cd /opt/client
- 执行以下命令配置环境变量。
source bigdata_env
- 判断集群认证模式。
- 安全模式,执行以下命令进行用户认证。UserOozie为提交任务的用户
kinit UserOozie
- 普通模式,执行5。
- 安全模式,执行以下命令进行用户认证。UserOozie为提交任务的用户
- 上传Oozie配置文件以及Jar包至HDFS:
hdfs dfs -mkdir /user/UserOozie
hdfs dfs -put -f /opt/client/Oozie/oozie-client-*/examples /user/UserOozie/
- “/opt/client”为客户端安装目录,请根据实际安装目录修改。
- UserOozie为提交任务的用户。
- 创建“/user/UserOozie”目录,并上传“/opt/client/Oozie/oozie-client-*/examples”中的文件到该目录下后,需保证该目录、目录下的所有文件及其子目录都具有755权限,否则使用Oozie客户端提交任务时可能会出现权限异常。
- 修改任务执行配置文件:
cd /opt/client/Oozie/oozie-client-*/examples/apps/map-reduce/
vi job.properties
nameNode=hdfs://hacluster resourceManager=10.64.35.161:8032(10.64.35.161为Yarn resourceManager(Active)节点业务平面IP;8032为yarn.resourcemanager.port) queueName=default examplesRoot=examples user.name=admin oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/map-reduce #hdfs上传路径 outputDir=map-reduce oozie.wf.rerun.failnodes=true
- 运行oozie任务:
oozie job -oozie https://oozie角色的主机名:21003/oozie/ -config job.properties -run
[root@kwephispra44947 map-reduce]# oozie job -oozie https://kwephispra44948:21003/oozie/ -config job.properties -run ...... job: 0000000-200730163829770-oozie-omm-W
- 登录FusionInsight Manager。
- 选择“集群 > 服务 > Oozie ”,单击“oozie WebUI”后的超链接进入Oozie页面,在Oozie的WebUI上查看任务运行结果。
图1 任务运行结果
父主题: 使用Oozie