作者:あおざき
起源:恒生LIGHT云社区
1.Oozie概述
Oozie 是一个用来治理 Hadoop生态圈job的工作流调度零碎。由Cloudera公司奉献给Apache。Oozie是运行于Java servlet容器上的一个java web利用。Oozie的目标是依照DAG(有向无环图)调度一系列的Map/Reduce或者Hive等工作。Oozie 工作流由hPDL(Hadoop Process Definition Language)定义(这是一种XML流程定义语言)。实用场景包含:
须要按程序进行一系列工作;
须要并行处理的工作;
须要定时、周期触发的工作;
可视化作业流运行过程;
运行后果或异样的通报。
2.Oozie架构
Oozie Client :提供命令行、java api、rest等形式,对Oozie的工作流流程的提交、启动、运行等操作;
Oozie WebApp :即 Oozie Server,实质是一个java利用。能够应用内置的web容器,也能够应用外置的web容器;
Hadoop Cluster :底层执行Oozie编排流程的各个hadoop生态圈组件;
3.Oozie基本原理
Oozie对工作流的编排,是基于workflow.xml文件来实现的。用户事后将工作流执行规定定制于workflow.xml文件中,并在job.properties配置相干的参数,而后由Oozie
Server向MR提交job来启动工作流。
工作流由两种类型的节点组成,别离是:
Control Flow Nodes :管制工作流执行门路,包含start,end,kill,decision,fork,join。
Action Nodes :决定每个操作执行的工作类型,包含MapReduce、java、hive、shell等。
4.Oozie工作流类型
(1)WorkFlow
规定绝对简略,不波及定时、批处理的工作流。程序执行流程节点。
Workflow有个大毛病:没有定时和条件触发性能。
(2)Coordinator
Coordinator将多个工作流Job组织起来,称为Coordinator
Job,并指定触发工夫和频率,还能够配置数据集、并发数等,相似于在工作流内部减少了一个协调器来治理这些工作流的工作流Job的运行。
(3)Bundle
针对coordinator的批处理工作流。Bundle将多个Coordinator治理起来,这样咱们只须要一个Bundle提交即可。
想向技术大佬们多多取经?开发中遇到的问题何处探讨?如何获取金融科技海量资源?
恒生LIGHT云社区,由恒生电子搭建的金融科技业余社区平台,分享实用技术干货、资源数据、金融科技行业趋势,拥抱所有金融开发者。
扫描下方小程序二维码,退出咱们!