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

相关文章

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

Python中Markdown库的使用示例详解

《Python中Markdown库的使用示例详解》Markdown库是一个用于处理Markdown文本的Python工具,这篇文章主要为大家详细介绍了Markdown库的具体使用,感兴趣的... 目录一、背景二、什么是 Markdown 库三、如何安装这个库四、库函数使用方法1. markdown.mark