云小课|MRS基础原理之Oozie任务调度[通俗易懂]

云小课|MRS基础原理之Oozie任务调度[通俗易懂]阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。 摘要:Oozie是一个基

云小课|MRS基础原理之Oozie任务调度

阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。

云小课|MRS基础原理之Oozie任务调度[通俗易懂]

摘要:Oozie是一个基于工作流引擎的开源框架,它能够提供对Hadoop作业的任务调度与协调。Oozie是一个工作流引擎服务器,用于运行MapReduce任务工作流。同时Oozie还是一个Java Web程序,运行在Tomcat容器中。

本文分享自华为云社区《【云小课】EI第41课 MRS基础原理之Oozie任务调度》,作者: Hello EI。

Oozie是一个基于工作流引擎的开源框架,它能够提供对Hadoop作业的任务调度与协调。

Oozie是一个工作流引擎服务器,用于运行MapReduce任务工作流。同时Oozie还是一个Java Web程序,运行在Tomcat容器中。

云小课|MRS基础原理之Oozie任务调度[通俗易懂]

Oozie工作流通过HPDL(一种通过XML自定义处理的语言,类似JBOSS JBPM的JPDL)来构造。包含“Control Node”(可控制的工作流节点)、“Action Node”。

“Control Node”用于控制工作流的编排,如“start”(开始)、“end”(关闭)、“error”(异常场景)、“decision”(选择)、“fork”(并行)、“join”(合并)等。

Oozie工作流中拥有多个“Action Node”,如MapReuce、Java等。

所有的“Action Node”以有向无环图DAG(Direct Acyclic Graph)的模式部署运行。所以在“Action Node”的运行步骤上是有方向的,当上一个“Action Node”运行完成后才能运行下一个“Action Node”。一旦当前“Action Node”完成,远程服务器将回调Oozie的接口,这时Oozie又会以同样的方式执行工作流中的下一个“Action Node”,直到工作流中所有“Action Node”都完成(完成包括失败)。

云小课|MRS基础原理之Oozie任务调度[通俗易懂]
云小课|MRS基础原理之Oozie任务调度[通俗易懂]

Oozie工作流提供各种类型的“Action Node”用于支持不同的业务需要,如MapReduce,HDFS,SSH,Java以及Oozie子流程。

如何使用Oozie

购买包含有Oozie组件的MRS集群后,用户即可使用Oozie进行作业提交及调度。

MRS集群的创建可参考MRS快速入门中的“创建集群”章节,例如购买MRS 3.1.0普通模式(关闭Kerberos认证)集群。

Oozie客户端的安装可以参考MRS用户指南的“安装客户端”章节,例如客户端安装目录为:“/opt/client”。

1.以客户端安装用户,登录安装客户端的节点。

2.执行以下命令,切换到客户端安装目录。

cd /opt/client
source bigdata_env

3.上传Oozie配置文件以及Jar包至HDFS(UserOozie为提交任务的用户名)。

hdfs dfs -mkdir /user/UserOozie
hdfs dfs -put -f /opt/client/Oozie/oozie-client-*/examples /user/UserOozie/

4.修改任务执行配置文件:

cd /opt/client/Oozie/oozie-client-*/examples/apps/map-reduce/
vi job.properties
nameNode=hdfs://hacluster 
resourceManager=Yarn ResourceManager主节点IP地址:端口   ##端口可通过“yarn.resourcemanager.port”参数查询,例如8032。
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

5.运行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

6.登录FusionInsight Manager,选择“集群 > 服务 > Oozie ”。

7.单击“oozie WebUI”后的超链接进入Oozie页面,在Oozie的WebUI上查看任务运行结果。

云小课|MRS基础原理之Oozie任务调度[通俗易懂]

关于Ooize应用开发及相关样例代码介绍,请参考《Oozie开发指南》。

好了,本期云小课就介绍到这里,快去体验MapReduce(MRS)更多功能吧!猛戳这里

 

点击关注,第一时间了解华为云新鲜技术~

原文地址:https://www.cnblogs.com/huaweiyun/archive/2022/10/31/16844542.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/4596.html

(0)
上一篇 2023-06-13 09:30
下一篇 2023-06-13

相关推荐

  • 以Pi为中心的探究

    以Pi为中心的探究树莓派是一款小型的计算机,由英国的Raspberry Pi基金会设计制造。该计算机的目标就是推广基于计算机科学的教育以及在发展中国家改善计算机技术的教育和应用。由于树莓派小巧便宜,所以它在教育领域和开源领域拥有广泛的应用。

    2024-06-06
    48
  • 高可用性是什么意思_数据库高可用性怎么考核

    高可用性是什么意思_数据库高可用性怎么考核1、高可用性的目的是什么? 高可用性的目标是以最小的停机时间提供连续的服务(唯一真正具有 "零 "停机时间的设备是心脏起搏器和核武器中的安全装置)。这意味着,如果一个组件发生故障,

    2023-05-15
    149
  • Python命令行参数处理技巧

    Python命令行参数处理技巧Python内置的argparse模块提供了一种处理命令行参数的标准方法。这个模块可以让我们轻松地把命令行参数解析成Python中的对象。该模块使用起来简洁而优雅,可以帮助我们实现复杂的命令行交互。

    2024-03-09
    87
  • MySQL学习笔记(16):命令行工具「终于解决」

    MySQL学习笔记(16):命令行工具「终于解决」本文更新于2020-06-14,使用MySQL 5.7,操作系统为Deepin 15.4。 在指定参数选项时有两种方式: “-”+单个缩写字符+值,值前可加上空白符(“-p”选项例外,若加上则认为稍后

    2023-03-20
    143
  • Treeview结构的表资料复制(Treeview Table COPY)

    Treeview结构的表资料复制(Treeview Table COPY)用ID/ParentID设计的Treeview结构表,若需要复制一份完整的Treeview, 要用逻辑代码递归实现,处理id/pid有点麻烦,性能也不好, 若可用简单的几句SQL实现,则可以提高性能…

    2023-04-14
    172
  • mysql主要功能介绍_外键的作用

    mysql主要功能介绍_外键的作用(一)id列: (二)select_type列:数据读取操作的操作类型 1、SIMPLE:简单的select 查询,SQL中不包含子查询或者UNION。 2、PRIMARY:查询中包含复杂的子查询部分

    2023-01-24
    150
  • cannot convert value of type_incorrect date value

    cannot convert value of type_incorrect date value在Mysql数据库中使用DATETIME类型来存储时间,使用JDBC中读取这个字段的时候,应该使用 ResultSet.getTimestamp(),这样会得到一个java.sql.Timestam…

    2023-03-19
    156
  • Python NumPy:二维数组用途及示例

    Python NumPy:二维数组用途及示例NumPy是Python中做科学计算必不可少的库之一,主要用于数组处理。在NumPy中有一种数据结构叫做二维数组,也叫做矩阵,是NumPy中最基础的数据结构之一。在本文中,我们将详细讲解二维数组的用途以及如何使用它们。

    2024-02-22
    98

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注