linux下azkaban安装及示例

2024-06-02 21:08
文章标签 linux 安装 示例 azkaban

本文主要是介绍linux下azkaban安装及示例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、环境准备
Azkaban Web服务器:
azkaban-web-server-2.5.0.tar.gz
Azkaban执行服务器 :
azkaban-executor-server-2.5.0.tar.gz
Azkaban脚本文件:
azkaban-sql-script-2.5.0.tar.gz

目前azkaban只支持 mysql,需安装mysql服务器,本文档中默认已安装好mysql服务器,并建立了 root用户,密码 1234. 


二、安装

1.将安装文件上传到集群,最好上传到安装 hive、sqoop的机器上,方便命令的执行
新建 azkabantools目录,用于存放源安装文件.新建azkaban目录,用于存放azkaban运行程序
[root@node5 soft]# mkdir azkaban
2.azkaban服务器安装
1)azkaban-web-server-2.5.0.tar.gz(web服务)
[root@node5 azkaban]# tar -axvf azkaban-web-server-2.5.0.tar.gz
[root@node5 azkaban]# mv azkaban-web-2.5.0/ server(改名为server)
2)azkaban-executor-server-2.5.0.tar.gz(执行服务器安装)
[root@node5 azkaban]# tar -zxvf azkaban-executor-server-2.5.0.tar.gz
[root@node5 azkaban]# mv azkaban-executor-2.5.0/ executor(改名为executor)
3)azkaban-sql-script-2.5.0.tar.gz(脚本)
[root@node5 azkaban]# tar -zxvf azkaban-sql-script-2.5.0.tar.gz 
3.在mysql中创建数据库并导入脚本
将解压后的mysql 脚本,导入到mysql中:
进入mysql
mysql> create database azkaban;(名字可以任意取)
mysql> use azkaban;
Database changed

mysql> source /opt/sxt/soft/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql;

4.创建SSL配置(azkaban运行需要证书)

[root@node5 azkaban]# keytool -keystore keystore -alias jetty -genkey -keyalg RSA(任意目录下)

运行此命令后,会提示输入当前生成 keystor的密码及相应信息,输入的密码请劳记,信息如下:
输入keystore密码: zxl123(简单防止遗忘)
再次输入新密码:zxl123
您的名字与姓氏是什么?
  [Unknown]: 
您的组织单位名称是什么?
  [Unknown]: 
您的组织名称是什么?
  [Unknown]: 
您所在的城市或区域名称是什么?
  [Unknown]: 
您所在的州或省份名称是什么?
  [Unknown]: 
该单位的两字母国家代码是什么
  [Unknown]:  CN
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN 正确吗?
  [否]:  y
输入<jetty>的主密码
        (如果和 keystore 密码相同,按回车): 
再次输入新密码:
完成上述工作后,将在当前目录生成 keystore 证书文件,将keystore 考贝到 azkaban web服务器根目录中.

[root@node5 azkaban]# cp keystore server/
5.配置文件
1)先配置好服务器节点上的时区
先生成时区配置文件Asia/Shanghai,用交互式命令 tzselect 即可
[root@node5 azkaban]# tzselect(按照提示输入5 9 1 1)
拷贝该时区文件,覆盖系统本地时区配置
[root@node5 azkaban]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 
将该文件拷贝至其他集群依赖的机器
[root@node5 etc]# scp localtime root@node6:/etc/localtime
[root@node5 etc]# scp localtime root@node7:/etc/localtime
[root@node5 etc]# scp localtime root@node8:/etc/localtime
同步时间,将硬件地址写入linux
[root@node5 etc]# hwclock -w
2)相关修改
azkaban web服务器配置
进入azkaban web服务器安装目录 conf目录
修改azkaban.properties文件
命令vi azkaban.properties
内容说明如下:

#Azkaban Personalization Settings
azkaban.name=Test                           #服务器UI名称,用于服务器上方显示的名字
azkaban.label=My Local Azkaban                               #描述
azkaban.color=#FF3601                                                 #UI颜色
azkaban.default.servlet.path=/index                         #
web.resource.dir=web/                                                 #默认根web目录
default.timezone.id=Asia/Shanghai                           #默认时区,已改为亚洲/上海 默认为美国
 
#Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager   #用户权限管理默认类
user.manager.xml.file=conf/azkaban-users.xml              #用户配置,具体配置参加下文
 
#Loader for projects
executor.global.properties=conf/global.properties    # global配置文件所在位置
azkaban.project.dir=projects                                                #
 
database.type=mysql                                                              #数据库类型
mysql.port=3306                                                                       #端口号
mysql.host=localhost                                                      #数据库连接IP
mysql.database=azkaban                                                       #数据库实例名
mysql.user=root                                                                 #数据库用户名
mysql.password=root                                                          #数据库密码
mysql.numconnections=100                                                  #最大连接数
 
# Velocity dev mode
velocity.dev.mode=false
# Jetty服务器属性.
jetty.maxThreads=25                                                               #最大线程数
jetty.ssl.port=8443                                                                   #Jetty SSL端口
jetty.port=8081                                                                         #Jetty端口
jetty.keystore=keystore                                                          #SSL文件名
jetty.password=zxl123                                                             #SSL文件密码
jetty.keypassword=zxl123                                                      #Jetty主密码 与 keystore文件相同
jetty.truststore=keystore                                                                #SSL文件名
jetty.trustpassword=zxl123                                                   # SSL文件密码
 
# 执行服务器属性
executor.port=12321                                                               #执行服务器端口
 
# 邮件设置
mail.sender=xxxxxxxx@163.com                                       #发送邮箱
mail.host=smtp.163.com                                                       #发送邮箱smtp地址
mail.user=xxxxxxxx                                       #发送邮件时显示的名称
mail.password=**********                                                 #邮箱密码
job.failure.email=xxxxxxxx@163.com                              #任务失败时发送邮件的地址
job.success.email=xxxxxxxx@163.com                            #任务成功时发送邮件的地址
lockdown.create.projects=false                                           #
cache.directory=cache                                                            #缓存目录
azkaban 执行服务器executor配置
     进入执行服务器安装目录conf,修改azkaban.properties
     vi azkaban.properties

#Azkaban
default.timezone.id=Asia/Shanghai                                              #时区
 
# Azkaban JobTypes 插件配置
azkaban.jobtype.plugin.dir=plugins/jobtypes                   #jobtype 插件所在位置
 
#Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects
 
#数据库设置
database.type=mysql                                                                       #数据库类型(目前只支持mysql)
mysql.port=3306                                                                                #数据库端口号
mysql.host=192.168.13.135                                                         #数据库IP地址
mysql.database=azkaban                                                                #数据库实例名
mysql.user=root                                                                       #数据库用户名
mysql.password=1234                                  #数据库密码
mysql.numconnections=100                                                           #最大连接数
 
# 执行服务器配置
executor.maxThreads=50                                                                #最大线程数
executor.port=12321                                                               #端口号(如修改,请与web服务中一致)
executor.flow.threads=30                                                                #线程数

用户配置
进入azkaban web服务器conf目录,修改azkaban-users.xml
vi azkaban-users.xml 增加 管理员用户

<azkaban-users>
        <user username="azkaban" password="azkaban" roles="admin" groups="azkaban" />
        <user username="metrics" password="metrics" roles="metrics"/>
        <user username="admin" password="admin" roles="admin,metrics" />
        <role name="admin" permissions="ADMIN" />
        <role name="metrics" permissions="METRICS"/>
</azkaban-users>

三、启动
web服务器
在azkaban web服务器目录下执行启动命令
[root@node5 server]# bin/azkaban-web-start.sh
注:在web服务器根目录运行或者启动到后台
nohup  bin/azkaban-web-start.sh  1>/tmp/azstd.out  2>/tmp/azerr.out &
执行服务器
在执行服务器目录下执行启动命令
[root@node5 executor]# bin/azkaban-executor-start.sh
注:只能在要执行服务器根目录运行
 
启动完成后,在浏览器(建议使用谷歌浏览器)中输入https://服务器IP地址:8443 ,即可访问azkaban服务了.在登录中输入刚才新的户用名及密码,点击 login.
https://node5:8443/
Username:adminPassword:admin
四、Azkaban实战
Azkaba内置的任务类型支持command、java

Command类型单一job示例
1、创建job描述文件
vi command.job

#command.job
type=command                                                    
command=echo 'hello'
2、将job资源文件打包成zip文件
zip command.job

3、通过azkaban的web管理平台创建project并上传job压缩包
首先创建project


上传zip包


4、启动执行该job



这篇关于linux下azkaban安装及示例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1025086

相关文章

SpringBoot基于MyBatis-Plus实现Lambda Query查询的示例代码

《SpringBoot基于MyBatis-Plus实现LambdaQuery查询的示例代码》MyBatis-Plus是MyBatis的增强工具,简化了数据库操作,并提高了开发效率,它提供了多种查询方... 目录引言基础环境配置依赖配置(Maven)application.yml 配置表结构设计demo_st

Jsoncpp的安装与使用方式

《Jsoncpp的安装与使用方式》JsonCpp是一个用于解析和生成JSON数据的C++库,它支持解析JSON文件或字符串到C++对象,以及将C++对象序列化回JSON格式,安装JsonCpp可以通过... 目录安装jsoncppJsoncpp的使用Value类构造函数检测保存的数据类型提取数据对json数

Linux磁盘分区、格式化和挂载方式

《Linux磁盘分区、格式化和挂载方式》本文详细介绍了Linux系统中磁盘分区、格式化和挂载的基本操作步骤和命令,包括MBR和GPT分区表的区别、fdisk和gdisk命令的使用、常见的文件系统格式以... 目录一、磁盘分区表分类二、fdisk命令创建分区1、交互式的命令2、分区主分区3、创建扩展分区,然后

SpringCloud集成AlloyDB的示例代码

《SpringCloud集成AlloyDB的示例代码》AlloyDB是GoogleCloud提供的一种高度可扩展、强性能的关系型数据库服务,它兼容PostgreSQL,并提供了更快的查询性能... 目录1.AlloyDBjavascript是什么?AlloyDB 的工作原理2.搭建测试环境3.代码工程1.

mac安装redis全过程

《mac安装redis全过程》文章内容主要介绍了如何从官网下载指定版本的Redis,以及如何在自定义目录下安装和启动Redis,还提到了如何修改Redis的密码和配置文件,以及使用RedisInsig... 目录MAC安装Redis安装启动redis 配置redis 常用命令总结mac安装redis官网下

Linux中chmod权限设置方式

《Linux中chmod权限设置方式》本文介绍了Linux系统中文件和目录权限的设置方法,包括chmod、chown和chgrp命令的使用,以及权限模式和符号模式的详细说明,通过这些命令,用户可以灵活... 目录设置基本权限命令:chmod1、权限介绍2、chmod命令常见用法和示例3、文件权限详解4、ch

Java中ArrayList的8种浅拷贝方式示例代码

《Java中ArrayList的8种浅拷贝方式示例代码》:本文主要介绍Java中ArrayList的8种浅拷贝方式的相关资料,讲解了Java中ArrayList的浅拷贝概念,并详细分享了八种实现浅... 目录引言什么是浅拷贝?ArrayList 浅拷贝的重要性方法一:使用构造函数方法二:使用 addAll(

Linux内核之内核裁剪详解

《Linux内核之内核裁剪详解》Linux内核裁剪是通过移除不必要的功能和模块,调整配置参数来优化内核,以满足特定需求,裁剪的方法包括使用配置选项、模块化设计和优化配置参数,图形裁剪工具如makeme... 目录简介一、 裁剪的原因二、裁剪的方法三、图形裁剪工具四、操作说明五、make menuconfig

Golang使用etcd构建分布式锁的示例分享

《Golang使用etcd构建分布式锁的示例分享》在本教程中,我们将学习如何使用Go和etcd构建分布式锁系统,分布式锁系统对于管理对分布式系统中共享资源的并发访问至关重要,它有助于维护一致性,防止竞... 目录引言环境准备新建Go项目实现加锁和解锁功能测试分布式锁重构实现失败重试总结引言我们将使用Go作

JAVA利用顺序表实现“杨辉三角”的思路及代码示例

《JAVA利用顺序表实现“杨辉三角”的思路及代码示例》杨辉三角形是中国古代数学的杰出研究成果之一,是我国北宋数学家贾宪于1050年首先发现并使用的,:本文主要介绍JAVA利用顺序表实现杨辉三角的思... 目录一:“杨辉三角”题目链接二:题解代码:三:题解思路:总结一:“杨辉三角”题目链接题目链接:点击这里