Azkaban
1.上传azkaban-executor-server-2.5.0.tar.gz、azkaban-sql-script-2.5.0.tar.gz和azkaban-web-server-2.5.0.tar.gz
2.创建azkaban目录
cd /opt/module && mkdir azkaban
3.将azkaban-executor-server-2.5.0.tar.gz、azkaban-sql-script-2.5.0.tar.gz和azkaban-web-server-2.5.0.tar.gz解压缩到/opt/module/azkaban目录下
tar -zxvf /opt/software/azkaban-executor-server-2.5.0.tar.gz -C /opt/module/azkaban &&
tar -zxvf /opt/software/azkaban-sql-script-2.5.0.tar.gz -C /opt/module/azkaban &&
tar -zxvf /opt/software/azkaban-web-server-2.5.0.tar.gz -C /opt/module/azkaban
4.将azkaban-web-2.5.0和azkaban-executor-2.5.0重命名为server、executor
mv azkaban-web-2.5.0 server && mv azkaban-executor-2.5.0 executor
5.最后应该在/opt/module/azkaban目录下有如下的文件夹
6.登录mysql
mysql -uroot -pmysql
7.创建azkaban数据库并使用脚本导入azkaban
create database azkaban;
use azkaban;
source /opt/module/azkaban/azkaban-2.5.0/create-all-sql-2.5.0.sql
创建SSL配置
1.生成keystore的密码以及相应信息
keytool -keystore keystore -alias jetty -genkey -keyalg RSA
Enter keystore password: 输入123456
Re-enter new password: 输入123456
What is your first and last name?
What is the name of your organizational unit?
What is the name of your organization?
What is the name of your City or Locality?
What is the name of your State or Province?
What is the two-letter country code for this unit?
Is CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown correct?
Enter key password for
(RETURN if same as keystore password):直接回车(这里直接回车表示jetty密码和keystore的密码一致)
2.将keystore拷贝到azkaban web 服务器根目录中
mv keystore /opt/module/azkaban/server/
时间同步
1.手动修改时间
sudo date -s '2021-05-02 21:02:00'
2.将系统时间写入硬件时间
sudo hwclock -w
Web服务器配置
1.编辑azkaban.properties
cd /opt/module/azkaban/server/conf && vim azkaban.properties
更改内容如下:
default.timezone.id=Asia/Shanghai
database.type=mysql
mysql.port=3306
mysql.host=hadoop001
mysql.database=azkaban
mysql.user=root
mysql.password=mysql
mysql.numconnections=100
jetty.password=123456
jetty.keypassword=123456
jetty.trustpassword=123456
2.web服务器用户配置
vim azkaban-users.xml
新增内容如下:
<user username="atguigu" password="atguigu" roles="admin,metrics"/>
执行(Executor)服务器配置
1.编辑azkaban.properties
cd /opt/module/azkaban/executor/conf && vim azkaban.properties
具体配置如下:
default.timezone.id=Asia/Shanghai
mysql.host=hadoop001
mysql.database=azkaban
mysql.user=root
mysql.password=mysql
启动Web服务器
cd /opt/module/azkaban/server && bin/azkaban-web-start.sh
千万不要写成
cd /opt/module/azkaban/server/bin && sudo sh azkaban-web-start.sh
不然会报错:
Could not instantiate UserManager azkaban.user.XmlUserManager
启动执行(Executor)服务器
cd /opt/module/azkaban/executor && bin/azkaban-executor-start.sh
千万不要写成
cd /opt/module/azkaban/executor/bin && sudo sh azkaban-executor-start.sh
不然会报错:
Could not instantiate UserManager azkaban.user.XmlUserManager
访问
https://hadoop001:8443
登录
用户名 atguigu
密码 atguigu
单job工作流
1.创建Project
2.输入工程名称以及相关的描述信息
3.创建工程后的界面如下图所示:
4.创建job文件
4.1鼠标右键新建文件夹,重命名为azkabanJobs
4.2鼠标右键新建文件,命名为command.job
4.3具体配置内容如下:
#command.job
type=command
command=mkdir /opt/module/test_azkaban
4.4右键command.job文件,打包成zip文件
5.上传打包后的zip文件
6.上传完成后如下图:
7.点击Executor Flow
8.选择立即执行
9.点击continue
10.执行之后的状态如图所示:
11.在linux的/opt/module目录下运行ll或ls命令可以发现多出了一个名字是test_azkaban的文件夹。这表明刚才的执行操作是成功的!
多job工作流
1.新建foo.job,添加配置内容如下:
#foo.job
type=command
command=mkdir /opt/module/az_foo
2.新建bar.job,添加配置内容如下:
#bar.job
type=command
dependencies=foo
command=echo 22 > /opt/module/az_foo/test.txt
3.将bar.job和foo.job打包成zip文件
4.新建project
5.输入项目名称和项目描述
6.上传zip文件
7.执行任务
8.查看执行结果,az_foo成功创建;“echo 22 > /opt/module/az_foo/test.txt” 成功打印输出到控制台