李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
大数据
正文
06.Azkaban之JavaProcess任务类型
Leefs
2022-04-24 PM
1134℃
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://lilinchao.com/archives/2008.html
上一篇
05.Azkaban失败重试配置与使用
下一篇
07.Azkaban条件工作流介绍
取消回复
评论啦~
提交评论
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
47
标签云
人工智能
Hive
Livy
Ubuntu
Map
算法
Filter
并发编程
JavaScript
前端
MyBatisX
设计模式
并发线程
Sentinel
Typora
MySQL
Eclipse
Java
Azkaban
Elastisearch
二叉树
Flume
Shiro
排序
Yarn
国产数据库改造
Zookeeper
FastDFS
gorm
微服务
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞