李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
大数据
正文
06.Azkaban之JavaProcess任务类型
Leefs
2022-04-24 PM
1713℃
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
NLP
4
标签云
DataWarehouse
BurpSuite
Spark Core
Jquery
线程池
序列化和反序列化
FastDFS
Elasticsearch
Spark
DataX
JavaSE
Java阻塞队列
Sentinel
递归
ajax
Thymeleaf
微服务
Hadoop
二叉树
JavaScript
哈希表
Jenkins
Hbase
前端
GET和POST
Golang基础
Flink
Stream流
Java工具类
Yarn
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞
评论已关闭