李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
大数据
正文
06.Azkaban之JavaProcess任务类型
Leefs
2022-04-24 PM
1165℃
0条
[TOC] ### 前言 本篇将以一个简单的案例演示通过Azkaban平台来调度执行Java程序。 ### 一、Azkaban调度类型介绍 `azkaban` 可以支持非常多的任务类型,常用的任务类型有如下几种: + **Command**:使用Linux shell命令行任务。 + **HadoopShell**:这和Command一样也是命令类型,只不过可以和Hadoop集群通信。 + **Java**:调度执行Java任务。 + **hadoopJava**:也是一种Java类型,可以和hadoop集群通信,可以通过运行hadoopJava作业来创建大多数Hadoop作业类型,例如Pig,Hive等。 + **Pig**:pig脚本任务。 + **Hive**:支持 执行hiveSQL 任务。 **官网中对各个类型的详细配置说明地址**:http://xiaoshuai.github.io/azkaban-gh-pages/#new-hive-type ### 二、JavaProcess任务类型介绍 **java和javaprocess作业类型之间的主要区别**: + javaprocess运行具有”main“方法的用户程序,java 运行 Azkaban 提供的调用用户程序“run”方法的 main 方法。 + Azkaban 可以进行设置,例如获取 Kerberos 票证或在提供的主要java类型中请求 Hadoop 令牌,而javaprocess用户负责一切。 说明:`java` 在之前azkaban的版本中,是`azkaban`内置的,在`2.0`版本后就不再是内置的了,而`javaprocess`依旧是内置的。 **配置** **JavaProcess类型可以运行一个自定义主类方法,type 类型为javaprocess,可用配置为:** - **Xms**: 最小堆 - **Xmx**: 最大堆 - **classpath**: 类路径 - **java.class**: 要运行的Java对象,其中必须包含Main方法 - **main.args**: main方法的参数 ### 三、JavaProcess任务调度案例 #### Java程序 **(1)创建一个Maven项目,编写Java程序** ```java package com.lilinchao.function; /** * @author lilinchao * @date 2022/4/24 **/ public class AzkabanFuncation { public static void main(String[] args) { System.out.println("Hello world!"); } } ``` **(2)将项目打成Jar包** ![06.Azkaban之JavaProcess任务类型01.jpg](https://lilinchao.com/usr/uploads/2022/04/2336716557.jpg) #### Azkaban配置 **(1)新建一个工程说明文件`javaprocess.project`** ```properties azkaban-flow-version: 2.0 ``` **(2)新建javaprocess.flow文件,增加如下内容** ```yaml nodes: - name: javajob type: javaprocess config: java.class: com.lilinchao.function.AzkabanFuncation ``` + **name**:job名称,可以任意填; + **type**:需要执行java程序,所以需要指定类型为`javaprocess`; + **job.class**:配置`main方法`的类路径; **(3)将javaprocess.project、javaprocess.flow、JavaProcess-1.0.jar三个文件一起打成一个ZIP压缩包** ![06.Azkaban之JavaProcess任务类型02.jpg](https://lilinchao.com/usr/uploads/2022/04/4230912381.jpg) **(4)通过Azkaban调度执行** ![06.Azkaban之JavaProcess任务类型03.jpg](https://lilinchao.com/usr/uploads/2022/04/2565389454.jpg) **(5)查看执行结果** ![06.Azkaban之JavaProcess任务类型04.jpg](https://lilinchao.com/usr/uploads/2022/04/4238162407.jpg) ### 四、动态传参 如果需要传递参数Azkaban也支持对任务进行动态传参: + **点击进入javajob工程** ![06.Azkaban之JavaProcess任务类型05.jpg](https://lilinchao.com/usr/uploads/2022/04/1187561262.jpg) + **点击Edit进行编辑** ![06.Azkaban之JavaProcess任务类型06.jpg](https://lilinchao.com/usr/uploads/2022/04/834999875.jpg) + **点击Add Row添加参数** ![06.Azkaban之JavaProcess任务类型07.jpg](https://lilinchao.com/usr/uploads/2022/04/2386114779.jpg)
标签:
Azkaban
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://www.lilinchao.com/archives/2008.html
上一篇
05.Azkaban失败重试配置与使用
下一篇
07.Azkaban条件工作流介绍
取消回复
评论啦~
提交评论
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
47
标签云
gorm
数学
Yarn
DataWarehouse
人工智能
哈希表
容器深入研究
Spark
DataX
散列
设计模式
Kibana
Quartz
持有对象
国产数据库改造
ClickHouse
查找
锁
Beego
Golang基础
Stream流
Java编程思想
Zookeeper
NIO
Filter
Tomcat
Git
SpringCloud
Jenkins
Python
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞