Apache AzKaban 环境搭建与入门使用
1.azkaban的环境搭建
要求:由于这里azkaban要调度hive作业,可能存在调度sqoop等作业,因此需要安装在有这些节点的机器上
1)上传jar包并解压缩(三个)
mkdir /home/hadoop/azkaban
# 上传3个jar包到该目录下
[hadoop@mycat01 azkaban]$ ll /home/hadoop/azkaban
-rwxrw-r-- 1 hadoop hadoop 11157302 Mar 28 08:57 azkaban-executor-server-2.5.0.tar.gz
-rwxrw-r-- 1 hadoop hadoop 1928 Mar 28 08:57 azkaban-sql-script-2.5.0.tar.gz
-rwxrw-r-- 1 hadoop hadoop 11989669 Mar 28 08:57 azkaban-web-server-2.5.0.tar.gz# 修改所有者数组
sudo chown hadoop:hadoop azkaban-executor-server-2.5.0.tar.gz
sudo chown hadoop:hadoop azkaban-sq-script-2.5.0.tar.gz
sudo chown hadoop:hadoop azkaban-web-server-2.5.0.tar.gz# 添加执行权限
chmod u+x azkaban-executor-server-2.5.0.tar.gz
chmod u+x azkaban-sql-script-2.5.0.tar.gz
chmod u+x azkaban-web-server-2.5.0.tar.gz# 解压
tar -zxvf azkaban-executor-server-2.5.0.tar.gz
tar -zxvf azkaban-sql-script-2.5.0.tar.gz
tar -zxvf azkaban-web-server-2.5.0.tar.gz
2)配置环境变量
sudo vim /etc/profile
....
export AZKABAN_EXEC_HOME=/home/hadoop/azkaban/azkaban-executor-2.5.0
export AZKABAN_WEB_HOME=/home/hadoop/azkaban/azkaban-web-2.5.0
export PATH=$PATH:$AZKABAN_EXEC_HOME/bin:$AZKABAN_WEB_HOME/bin
使配置生效
source /etc/profile
3)生成jetty数字认证证书(一定要注意证书位置)
cd /home/hadoop/azkaban/azkaban-web-2.5.0
keytool -keystore keystore -alias jetty -genkey -keyalg RSA
# 第一个 设置jetty数字证书密码
# 第二个 确认jetty数字证书密码
# ... 私人信息的(除国家外的都可以直接回车)
# (two-letter country)设置国家的 直接输入 CN
# 确认 yes
# 设置jetty验证密码: 可以和前面一致
# 确认jetty验证密码
4)准备azkaban数据库(为了部署任务的存储)—这里采用MySQL
mysql> create database azkabandb;
mysql> use azkabandb;
mysql> source /home/hadoop/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql
5)配置executor的配置
default.timezone.id=Asia/Shanghai # 设置为上海时区# Azkaban JobTypes Plugins 插件路径,修改为绝对路径
azkaban.jobtype.plugin.dir=/home/hadoop/azkaban/azkaban-executor-2.5.0/plugins/jobtypes#Loader for projects azkaban 项目加载路径,全部改成绝对路径
executor.global.properties=/home/hadoop/azkaban/azkaban-executor-2.5.0/conf/global.properties
azkaban.project.dir=/home/hadoop/azkaban/projectsdatabase.type=mysql # 存储数据库类型
mysql.port=3306 # 数据库端口
mysql.host=mycat01 # 主机名
mysql.database=azkabandb # 数据库(这个就是刚刚配置的数据库)
mysql.user=root # 用户名
mysql.password=miku # 密码
mysql.numconnections=100 # 最大连接数# Azkaban Executor settings
executor.maxThreads=50 # 最大开启的线程数
executor.port=12321 # executor端口
executor.flow.threads=30 # 工作流线程数 30
4)配置web的配置
① azkaban.properties
#Azkaban Personalization Settings
azkaban.name=azkaban
azkaban.label=My Local azkaban
azkaban.color=#188EEE
azkaban.default.servlet.path=/index
web.resource.dir=/home/hadoop/azkaban/azkaban-web-2.5.0/web/ # 需要修改为全路径
default.timezone.id=Asia/Shanghai # 设置时区#Azkaban UserManager class 修改全路径
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=/home/hadoop/azkaban/azkaban-web-2.5.0/conf/azkaban-users.xml#Loader for projects
executor.global.properties=/home/hadoop/azkaban/azkaban-executor-2.5.0/conf/global.properties
azkaban.project.dir=/home/hadoop/azkaban/projectsdatabase.type=mysql # 存储数据库配置
mysql.port=3306
mysql.host=mycat01
mysql.database=azkabandb
mysql.user=root
mysql.password=miku
mysql.numconnections=100# Velocity dev mode
velocity.dev.mode=false# Azkaban Jetty server properties. jetty认证配置,该用全路径用全路径
jetty.maxThreads=25
jetty.ssl.port=8443
jetty.port=8081
jetty.keystore=/home/hadoop/azkaban/azkaban-web-2.5.0/keystore
jetty.password=azkaban # jetty 密码
jetty.keypassword=azkaban # jetty认证密码(数字证书密码)
jetty.truststore=/home/hadoop/azkaban/azkaban-web-2.5.0/keystore # jetty认证文件存储位置
jetty.trustpassword=azkaban # jetty认证密码(数字证书密码)# Azkaban Executor settings executor端口
executor.port=12321# mail settings 邮件 --此处这里就不配置了
mail.sender=
mail.host=
job.failure.email=
job.success.email=lockdown.create.projects=falsecache.directory=cache
② 配置azkaban-users.xml 添加azkaban用户
<azkaban-users><user username="azkaban" password="azkaban" roles="admin" groups="azkaban" /><user username="metrics" password="metrics" roles="metrics"/><!-- 添加用户,拥有admin和metrics两个角色的权限 --><user username="mycat" password="mikumoge" roles="admin,metrics"/><role name="admin" permissions="ADMIN" /><role name="metrics" permissions="METRICS"/>
</azkaban-users>
6)添加derby依赖jar包
derby.jar 这个jar包在jdk中有
cp /opt/jdk1.8.0_73/db/lib/derby.jar /home/hadoop/azkaban/azkaban-executor-2.5.0/lib
cp /opt/jdk1.8.0_73/db/lib/derby.jar /home/hadoop/azkaban/azkaban-web-2.5.0/lib
7)启动azkaban服务
azkaban-executor-start.sh # 12321端口,默认前台启动,可以使用nohup
azkaban-web-start.sh # 8443端口,默认前台启动,可以使用nohup
8)访问web页面
https://mycat01:8443
2.Azkaban的基本使用
1)job准备
① 在桌面编写创建一个以.job为扩展名
的文件,如test01.job
,编辑内容如下:
type=command
command=echo hello
② 直接右键压缩(必须zip压缩
—不要有顶级目录)压缩文件名和刚刚的job文件名称保持一致(test01.zip)
2)打开浏览器进入azkaban web界面
https://mycat01:8443/index
点击+ Create Project
: 创建一个project:
Create Project
Name xxx
Description xxxx
test01
test echo hello
Last modified on 2019-03-30 18:52:48 by mycat.
创建成功,项目点击进去
`Project test01``Flows` `Permissions` `Project Logs``^ echohello` `Execute Flow` `Executions` `Summary`echohello `Run Job` `Run With Dependencies`
点击 Run Job
按钮,弹出Execute Flow xxx
(执行某某工作流)窗口
Flow View # 工作流视图Notification # 成功通知
Failure Options # 失败通知
Concurrent # 设置并发行相关的
Flow Parameters # 键值对形式,在job文件中使用 $key 形式调用
Shedule # 定时调度配置 定时调度
Execute # 立即执行
其中定时调度中Schedule Flow Options
可以进行类似crontab
的配置(分时日月周)
3)关于job
type=command # 这个一般是定的
dependencies=job文件名,job文件名 # 配置依赖,不要扩展名
command=具体的命令 # 如果用到文件的话,可直接放到同级目录下
Apache AzKaban 环境搭建与入门使用相关推荐
- java mvc 小程序_[Java教程]Spring MVC 的环境搭建和入门小程序
[Java教程]Spring MVC 的环境搭建和入门小程序 0 2017-02-17 00:00:16 1.1.下载spring框架包. 1.1.1百度搜索Spring Framework. 进入s ...
- [Python人工智能] 十六.Keras环境搭建、入门基础及回归神经网络案例
从本专栏开始,作者正式研究Python深度学习.神经网络及人工智能相关知识.前一篇文章详细讲解了无监督学习Autoencoder的原理知识,然后用MNIST手写数字案例进行对比实验及聚类分析.这篇文章 ...
- JAVA环境搭建及入门
Java环境搭建及入门基础语法 Java概述 一 Java语言 背景介绍 1 Java语言背景 语言:人与人交流沟通的表达方式 计算机语言:人与计算机之间,进行信息交流沟通的一种特殊语言 Java语言 ...
- 51单片机开发系列一-51单片机开发环境搭建以及入门汇编代码
51单片机开发系列一 51单片机开发环境搭建以及入门汇编代码 象棋小子 1048272975 1. 51单片机概述 51单片机是对所有兼容Intel 8031指令系统的单片机的统称.目前教科书基 ...
- Android环境搭建与入门
Android环境搭建与入门 步骤 1. 去官网下载(http://www.android-studio.org/)开发工具 2. 下载完成后,因为这是exe文件,点击安装即可 3. 打开如下文件 4 ...
- Python全栈开发(一)——环境搭建和入门
今天是2023年的第一天,接下来的一个月里,我将持续更新关于python全栈开发的相关知识,前面一段时间都是基础语法.主要分成四大块:基础.面向对象.MYSQL数据库.Django框架.话不多说,进入 ...
- Apache+PHP环境搭建新手向教程
Apache+PHP环境搭建新手向教程 1.安装和配置Apache 下载并安装Apache 首先从apache官网下载[Download - The Apache HTTP Server Projec ...
- 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子
本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39 ...
- Mybatis学习IDEA(1)-环境搭建以及入门案例
Mybatis的环境搭建: 第一步:创建Maven项目 new Project->Maven->next->GroupId(反写域名如:com.itheima)ArtifactID( ...
最新文章
- 计算体系架构研究综述与思考
- 协作机器人与传统机器人有何区别?
- 什么是HTTP Headers?
- 修改android virtual device路径
- Ping Function
- 部署项目到Linux服务器步骤
- c#如何实现IComparable接口
- wordpress如何让百度快速收录_安顺如何发布信息百度收录在首页
- 第一次大作业总结——四则运算程序
- Verilog 三段式状态机(转)
- CSF 格式文件播放器 下载地址
- 长链接(MQTT)测试及工具MQTTX使用
- 将类似html数据打印机,白激光打印机的工作原理.doc
- 阿里云OSS线程增长问题分析
- js事件坐标大乱斗:screenX、clientX、pageX、offsetX
- 16个最佳WordPress登录页面插件
- 【转发】RS485总线拓扑结构
- linux搭建wordpress运行环境,Centos 6.x配置基于nginx的wordpress运行环境 | 旺旺知识库...
- JAVA 的性能优化
- pxe高效批量网络装机--手把手教学