有问题的小伙伴欢迎在文末[评论,点赞、收藏]是对我最大的支持!!!。
(1)一个完整的数据分析系统通常都是由大量任务单元组成:shell脚本程序、java程序、MapReduce程序、Hive脚本等。
(2)各个单元之间存在时间先后及前后依赖关系
(3)为了很好地组织这样的复杂执行计划,需要一个工作流调度系统来执行。
(1)简单任务调度:直接只用Linux的Crnotab。
(2)复杂任务调度:Ooize、Azkaban、Airflow、DolphinScheduler等
192.168.56.20
: exec、web
192.168.56.20
:exec
192.168.56.20
:exec
准备文件
mkdir -p /usr/local/azkaban
cd /usr/local/azkaban
rz
tar -zxvf azkaban-db-3.84.4.tar.gz
tar -zxvf azkaban-exec-server-3.84.4.tar.gz
tar -zxvf azkaban-web-server-3.84.4.tar.gz
1、安装
docker run -d \
-p 3322:3306 \
-v /usr/local/docker/mysql-api/data:/etc/mysql/conf.d \
-v /usr/local/docker/mysql-api/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456* \
--name azkaban mysql:5.7
2、启动
mysql -u root -p root
3、创建 azkaban 数据库,并赋予权限
create database azkaban;
配置允许简单密码
# 设置密码有效程度 4 为及以上
set global validate_password_length=4;
# 设置密码策略最低级别
set global validate_password_policy=0;
创建 azkaban用户,任何主机都可以访问 Azkaban,密码是000000
create user 'azkaban'@'%' identified by'000000';
赋予 azkaban用户 增删改查权限
grant select,insert,update,delete on azkaban.* to 'azkaban'@'%' with grant option;
4、创建 azkaban表
use azkaban;
source /usr/local/azkaban/azkaban-db-3.84.4/create-all-sql-3.84.4.sql
5、更改 MySql 包大小,防止 Azkaban 链接 MySql阻塞
vim /etc/my.cnf
在[mysqld]
下面家以上 max_allowed_pocked=1024M
[mysqld]
# 默认1M
max_allowed_packet=1024M
6、重启 MySQL
systemctl restart mysqld
vim /usr/local/azkaban/azkaban-exec-server-3.84.4/conf/azkaban.properties
修改如下内容
default.timezone.id=Asia/Shanghai
azkaban.webserver.url=http://192.168.56.20:8085
mysql.host=192.168.56.20
mysql.password=root
# 指定端口
executor.port=12321
分发
xsync
scp -r /usr/local/azkaban root@slave1:/usr/local
scp -r /usr/local/azkaban root@slave2:/usr/local
所有机器
cd /usr/local/azkaban/azkaban-exec-server-3.84.4
./bin/start-exec.sh
关闭
shutdown-exec.sh
所有机器
curl -G "192.168.56.20:12321/executor?action=activate" && echo
curl -G "192.168.56.21:12321/executor?action=activate" && echo
curl -G "192.168.56.22:12321/executor?action=activate" && echo
Azkaban Web Server 处理项目管理,身份验证,计划和执行触发。
cd /usr/local/azkaban/azkaban-web-server-3.84.4
vim /usr/local/azkaban/azkaban-web-server-3.84.4/conf/azkaban.properties
修改如下属性
default.timezone.id=Asia/Shanghai
# Web Server端口
jetty.port=8085
mysql.host=master
mysql.password=000000
azkaban.executorselector.filters=StaticRemainingFlowSize,CpuStatus
用户/权利管理文件
vim ./confg/azkaban-users.xml
<azkaban-users>
<user groups="azkaban" password="azkaban" roles="admin" username="azkaban"/>
<user password="metrics" roles="metrics" username="metrics"/>
<user password="123456" roles="admin" username="charles"/>
<role name="admin" permissions="ADMIN"/>
<role name="metrics" permissions="METRICS"/>
</azkaban-users>
cd /usr/local/azkaban/azkaban-web-server-3.84.4
bin/start-web.sh
关闭
bin/shutdown-web.sh
访问:http://192.168.56.20:8085
账号:charles
密码:123456