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

相关文章

Java调用Python脚本实现HelloWorld的示例详解

《Java调用Python脚本实现HelloWorld的示例详解》作为程序员,我们经常会遇到需要在Java项目中调用Python脚本的场景,下面我们来看看如何从基础到进阶,一步步实现Java与Pyth... 目录一、环境准备二、基础调用:使用 Runtime.exec()2.1 实现步骤2.2 代码解析三、

Python中yield的用法和实际应用示例

《Python中yield的用法和实际应用示例》在Python中,yield关键字主要用于生成器函数(generatorfunctions)中,其目的是使函数能够像迭代器一样工作,即可以被遍历,但不会... 目录python中yield的用法详解一、引言二、yield的基本用法1、yield与生成器2、yi

MyBatis-Plus 与 Spring Boot 集成原理实战示例

《MyBatis-Plus与SpringBoot集成原理实战示例》MyBatis-Plus通过自动配置与核心组件集成SpringBoot实现零配置,提供分页、逻辑删除等插件化功能,增强MyBa... 目录 一、MyBATis-Plus 简介 二、集成方式(Spring Boot)1. 引入依赖 三、核心机制

MySQL设置密码复杂度策略的完整步骤(附代码示例)

《MySQL设置密码复杂度策略的完整步骤(附代码示例)》MySQL密码策略还可能包括密码复杂度的检查,如是否要求密码包含大写字母、小写字母、数字和特殊字符等,:本文主要介绍MySQL设置密码复杂度... 目录前言1. 使用 validate_password 插件1.1 启用 validate_passwo

springboot整合mqtt的步骤示例详解

《springboot整合mqtt的步骤示例详解》MQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,适用于物联网设备之间的通信,本文介绍Sprin... 目录1、引入依赖包2、yml配置3、创建配置4、自定义注解6、使用示例使用场景:mqtt可用于消息发

Go中select多路复用的实现示例

《Go中select多路复用的实现示例》Go的select用于多通道通信,实现多路复用,支持随机选择、超时控制及非阻塞操作,建议合理使用以避免协程泄漏和死循环,感兴趣的可以了解一下... 目录一、什么是select基本语法:二、select 使用示例示例1:监听多个通道输入三、select的特性四、使用se

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

MySQL实现多源复制的示例代码

《MySQL实现多源复制的示例代码》MySQL的多源复制允许一个从服务器从多个主服务器复制数据,这在需要将多个数据源汇聚到一个数据库实例时非常有用,下面就来详细的介绍一下,感兴趣的可以了解一下... 目录一、多源复制原理二、多源复制配置步骤2.1 主服务器配置Master1配置Master2配置2.2 从服

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更