Azkaban安装部署
安装前准备
azkaban-web-server-2.5.0.tar.gz
azkaban-executor-server-2.5.0.tar.gz
azkaban-sql-script-2.5.0.tar.gz
将服务、执行、还有sql上传到host
安装Azkaban
友情提示:有传言说azkaban安装的机器需要8g内存,我呢,上了2g抱着试试的心态一举攻破传言。
- mkdir azkaban
将三个包解压到此文件夹
-
重命名
mv azkaban-web-2.5.0/ server
mv azkaban-executor-2.5.0/ executor
-
azkaban脚本导入
进入mysql,创建azkaban数据库,并将解压的脚本导入到azkaban数据库。
$ mysql -uroot -p123456 mysql> create database azkaban; mysql> use azkaban; mysql> source /opt/apps/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql
生成密钥库
- 执行第一句然后按照要求依次填入
[hadoop@slave3 azkaban]$ keytool -keystore keystore -alias jetty -genkey -keyalg RSA
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]:
您的组织单位名称是什么?
[Unknown]:
您的组织名称是什么?
[Unknown]:
您所在的城市或区域名称是什么?
[Unknown]:
您所在的省/市/自治区名称是什么?
[Unknown]:
该单位的双字母国家/地区代码是什么?
[Unknown]:
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown是否正确?
[否]: y
输入 <jetty> 的密钥口令
(如果和密钥库口令相同, 按回车):
再次输入新口令:
-Keytool:是java数据证书的管理工具,使用户能够管理自己的公/私钥对及相关证书。
-keystore:指定密钥库的名称及位置(产生的各类信息将不在.keystore文件中)
-genkey:在用户主目录中创建一个默认文件".keystore"
-alias:对我们生成的.keystore进行指认别名;如果没有默认是mykey
-keyalg:指定密钥的算法 RSA/DSA 默认是DSA
-
将keystore 拷贝到 azkaban web服务器根目录中
[hadoop@slave3 azkaban]$ mv keystore /opt/module/azkaban/server/
时间同步
集群必须时间同步,一般创建虚拟机就配置了时区亚洲,上海,系统会根据网络自己校正
Web服务器配置
-
进入azkaban web服务器安装目录 conf目录,打开azkaban.properties文件
vi azkaban.properties
按照如下配置修改azkaban.properties文件。
密码,绝对路径,数据库ip全部改成自己的
#Azkaban Personalization Settings
#服务器UI名称,用于服务器上方显示的名字
azkaban.name=Test
#描述
azkaban.label=My Local Azkaban
#UI颜色
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
#默认web server存放web文件的目录
web.resource.dir=/opt/apps/azkaban/server/web/
#默认时区,已改为亚洲/上海 默认为美国
default.timezone.id=Asia/Shanghai
#Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
#用户权限管理默认类(绝对路径)
user.manager.xml.file=/opt/apps/azkaban/server/conf/azkaban-users.xml
#Loader for projects
#global配置文件所在位置(绝对路径)
executor.global.properties=/opt/apps/azkaban/executor/conf/global.properties
azkaban.project.dir=projects
#数据库类型
database.type=mysql
#端口号
mysql.port=3306
#数据库连接IP
mysql.host=slave4
#数据库实例名
mysql.database=azkaban
#数据库用户名
mysql.user=root
#数据库密码
mysql.password=wang1997
#最大连接数
mysql.numconnections=100
# Velocity dev mode
velocity.dev.mode=false
# Azkaban Jetty server properties.
# Jetty服务器属性.
#最大线程数
jetty.maxThreads=25
#Jetty SSL端口
jetty.ssl.port=8443
#Jetty端口
jetty.port=8081
#SSL文件名(绝对路径)
jetty.keystore=/opt/apps/azkaban/server/keystore
#SSL文件密码
jetty.password=wang1997
#Jetty主密码与keystore文件相同
jetty.keypassword=wang1997
#SSL文件名(绝对路径)
jetty.truststore=/opt/apps/azkaban/server/keystore
#SSL文件密码
jetty.trustpassword=wang1997
# Azkaban Executor settings
executor.port=12321
# mail settings
mail.sender=
mail.host=
job.failure.email=
job.success.email=
lockdown.create.projects=false
cache.directory=cache
-
web服务器用户配置
在azkaban web服务器安装目录 conf目录,按照如下配置修改azkaban-users.xml文件,增加管理员用户
将此句添加到配置中
<user username="admin" password="admin" roles="admin" /> ↓↓↓↓↓↓↓↓↓↓下面是添加到的位置 <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" /> <role name="admin" permissions="ADMIN" /> <role name="metrics" permissions="METRICS"/> </azkaban-users>
执行服务器配置
-
进入执行服务器安装目录conf,打开azkaban.properties
vi azkaban.properties
#Azkaban #时区 default.timezone.id=Asia/Shanghai # Azkaban JobTypes Plugins #jobtype 插件所在位置 azkaban.jobtype.plugin.dir=plugins/jobtypes #Loader for projects executor.global.properties=/opt/apps/azkaban/executor/conf/global.properties azkaban.project.dir=projects database.type=mysql mysql.port=3306 mysql.host=slave3 mysql.database=azkaban mysql.user=root mysql.password=wang1997 mysql.numconnections=100 # Azkaban Executor settings #最大线程数 executor.maxThreads=50 #端口号(如修改,请与web服务中一致) executor.port=12321 #线程数 executor.flow.threads=30
启动executor服务器
- /opt/apps/azkaban/executor/bin/azkaban-executor-start.sh
启动web服务器
- /opt/apps/azkaban/server/bin/azkaban-web-start.sh
注意:
先执行executor,再执行web,避免Web Server会因为找不到执行器启动失败。
-
查看进程
$ jps 3601 AzkabanExecutorServer 5880 Jps 3661 AzkabanWebServer
-
启动完成后,在浏览器(建议使用谷歌浏览器)中输入https://服务器IP地址:8443,即可访问azkaban服务了。
在登录中输入刚才在azkaban-users.xml文件中新添加的户用名及密码,点击 login。
azkaban的使用
-
电脑上创建一个任务的文件夹
-
里面写上你的任务
- 写上任务,层级要标清楚
4. 将文件夹压缩为zip
5. 打开ui https://192.168.111.203:8443
6. 创建project, create project
- 上传任务
- 查看层级关系
- execute开始执行
- 全绿表示执行成功,若中间报红的就是有错误,去检查脚本重新执行