上云无忧 > 文档中心 > 百度智能云MapReduce开源组件介绍 - Ooize
百度智能云MapReduce开源组件介绍 - Ooize

文档简介:
什么是Ooize? Oozie是一个用于管理Apache Hadoop作业的工作流调度程序系统。 Oozie Workflow job是由多个Action组成的有向无环图(DAG)。 Oozie Coordinator job是根据时间(频率)和数据可用性触发的可重复执行的Oozie Workflow job(简单讲就是根据时间或数据条件,规划workflow的执行)。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

什么是Ooize

Oozie是一个用于管理Apache Hadoop作业的工作流调度程序系统。

  • Oozie Workflow job是由多个Action组成的有向无环图(DAG)。
  • Oozie Coordinator job是根据时间(频率)和数据可用性触发的可重复执行的Oozie Workflow job(简单讲就是根据时间或数据条件,规划workflow的执行)。
  • Oozie与Hadoop技术栈的项目集成,支持多种类型的Hadoop作业(例如Java map-reduce,Streaming map-reduce,Pig,Hive,Sqoop和Distcp,Spark)以及系统特定的工作(例如Java程序和shell脚本)。
  • Oozie是一个可水平扩展,可靠和可使用扩展插件(scalable, reliable and extensible)的系统。

Ooize常见的几个应用场景

1、统一调度hadoop系统中常见的mr任务启动、 hdfs操作、 shell调度、 hive操作等。

2、使得复杂的依赖关系、时间触发、事件触发使用xml语言进行表达,开发效率提高。

3、一组任务使用一个DAG来表示,使用图形表达流程逻辑更加清晰。

4、支持很多种任务调度,能完成大部分hadoop任务处理。

5、程序定义支持EL常量和函数,表达更加丰富。

Oozie的功能模块介绍

模块

  • Workflow:顺序执行流程节点,支持fork(分支多个节点),join(合并多个节点为一个)。
  • Coordinator:定时触发workflow。
  • Bundle:绑定多个Coordinator。

Workflow常用节点

  • 控制流节点(Control Flow Nodes):控制流节点一般都是定义在工作流开始或者结束的位置,比如start,end,kill等。以及提供工作流的执行路径机制,如decision,fork,join等。
  • 动作节点(Action Nodes):负责执行具体动作的节点,比如:拷贝文件,执行某个Shell脚本等等。

Ooize使用

准备百度智能云环境。

登录控制台,选择“产品服务->MapReduce BMR”,点击“创建集群”,进入集群创建页,并做如下配置:

1. 创建一个bmr2.3.0镜像的集群,选择hue+oozie

用户可以根据需求选择对应的服务,选择完成后填写集群的基础信息和实例规格,点击购买即可,建议选择新建高可用集群。

2.使用Ooize调度作业

1.命令行调度

1.1本地创建任务文件夹(比如 hive),编写 hive/job.properties

vim hive/job.properties

将配置中host改为所在集群机器host

nameNode=hdfs://master-22c8a0f:8020
resourceManager=master-22c8a0f:8050
queueName=default
jdbcURL=jdbc:hive2://master-22c8a0f:10000/default
examplesRoot=examples
oozie.use.system.libpath=true
oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/hive

1.2 编写 workflow.xml

script 填写sql文件名称

1.3 编写任务脚本

vim hive/show.q
create database hivetest;
create table hivetest.student(id int, name string, age int) row format delimited fields terminated by ',' STORED AS TEXTFILE;
insert into hivetest.student values(1, 'name1', 12);

1.4上传文件夹到 job.properties 中 oozie.wf.application.path 指定的 hdfs 路径

hdfs dfs -put -f hive/ /user/hdfs/examples/apps/

1.5执行命令提交 oozie 任务

/opt/bmr/oozie/bin/oozie job -oozie http://{oozie-server eip}:11000/oozie -config hive/job.properties  -run

提交后会得到 oozie jobId


1.6使用 oozie jobId 可以查看任务运行详情

/opt/bmr/oozie/bin/oozie job -oozie http://{oozie-server eip}:11000/oozie -info 0000079-211118162829239-bmr-oozie-W

  • [更多详细样例查看 apache oozie 官网]
2.hue调度

使用 hue 交互式开发 oozie 任务,请参考Hue官方开发示例。

3.访问Ooize URL

1.登录控制台,选择“产品服务->MapReduce BMR”,点击已创建的集群,进入该集群详情页。

2.在“相关应用和工具”栏中可以查看“Ooize Url”。

Ooize Url 默认不可点击,需要在给对应的master实例绑定EIP后并且开通对应的端口后才可以访问。 具体需要绑定EIP的实例ID可以将鼠标指针上浮在Ooize Url 叹号处查看。绑定EIP见绑定EIP。若无EIP,请先于产品【网络——弹性公网IP EIP】创建EIP。详见:创建EIP实例。

3.给BMR安全组添加11000端口访问规则。 在给对应的节点绑定eip后,在集群详情-网络处可以查看对应BMR安全组ID。

复制对应的BMR安全组ID,进入VPC-安全组中,找到对应的BMR安全组。

点击添加规则,选择HTTP,规则类型为IPV4,协议为tcp,端口范围为11000,source建议填写为需要访问BMR集群的IP或者IP段,不建议为all,本示例为方便演示选择all(0.0.0.0/0)。

添加完成后如下图所示:

4.完成上述工作后,在BMR集群详情页面中点击Ooize Url即可访问。

相似文档
  • BMR提供两种创建集群的方法:创建自定义集群、使用系统预定义模板创建集群。 BMR将为用户保留一年的集群历史记录,包含正在运行中、已释放、已终止等全部状态的集群,超过一年的历史集群记录不做保留。
  • 对已创建的集群,可在“产品服务->MapReduce-集群列表”页查看所有集群。对已创建的集群您可做如下操作: 查看集群详情、 修改集群名称、 续费、 计费变更、 复制集群、 变更集群节点数量、 保存集群为模板、 释放集群、 删除已释放集群。
  • 大数据处理及分析场景下,常常需要根据业务情况的变化动态调整集群的task节点数量,这样可以在保证作业顺利完成的同时,降低您的成本。弹性伸缩功能支持按时间规则或者按指标规则进行集群task节点规模的调整。
  • BMR从1.0.0版本开始支持创建安全类型的集群,即集群中的开源组件以Kerberos的安全模式启动,在这种安全环境下只有经过认证的客户端才能访问集群中的服务(如HDFS,HIVE 等)。 注:目前BMR版本中支持Kerberos的组件有HDFS、YARN、SPARK、HIVE、HBase。
  • 实际业务处理场景中,经常遇到需要将BMR集群资源及集群中的数据、服务等在多个组织及部门间共享的场景,需要能够做到集群中细粒度的计算资源及访问权限管控。 对于云上资源(集群、作业)粒度的管理,请参见多用户访问控制。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部