当前位置: 首页 > news >正文

工作流调度系统 Azkaban介绍与安装(一)

文章目录

    • 前言
      • 1、为什么要用工作流调度系统
      • 2、常见的工作流调度系统
    • 1 集群规划
    • 2 配置 MySQL
    • 3 配置 Executor Server
      • 3.1 修改 azkaban.properties
      • 3.2 启动
      • 3.3 激活
    • 4 配置 Web Server
      • 4.1 修改 azkaban.properties
      • 4.2 修改azkaban-users.xml文件,添加 atguigu 用户
      • 4.3 启动

哈喽,大家好,我是[有勇气的牛排](全网同名)🐮🐮🐮

有问题的小伙伴欢迎在文末[评论,点赞、收藏]是对我最大的支持!!!。

前言

1、为什么要用工作流调度系统

(1)一个完整的数据分析系统通常都是由大量任务单元组成:shell脚本程序、java程序、MapReduce程序、Hive脚本等。
(2)各个单元之间存在时间先后及前后依赖关系
(3)为了很好地组织这样的复杂执行计划,需要一个工作流调度系统来执行。

2、常见的工作流调度系统

(1)简单任务调度:直接只用Linux的Crnotab。
(2)复杂任务调度:Ooize、Azkaban、Airflow、DolphinScheduler等

1 集群规划

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

2 配置 MySQL

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

3 配置 Executor Server

3.1 修改 azkaban.properties

vim /usr/local/azkaban/azkaban-exec-server-3.84.4/conf/azkaban.properties

修改如下内容

default.timezone.id=Asia/Shanghaiazkaban.webserver.url=http://192.168.56.20:8085mysql.host=192.168.56.20mysql.password=root# 指定端口
executor.port=12321

分发
xsync

scp -r /usr/local/azkaban root@slave1:/usr/local
scp -r /usr/local/azkaban root@slave2:/usr/local

3.2 启动

所有机器

cd /usr/local/azkaban/azkaban-exec-server-3.84.4
./bin/start-exec.sh

关闭

shutdown-exec.sh

3.3 激活

所有机器

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

4 配置 Web Server

Azkaban Web Server 处理项目管理,身份验证,计划和执行触发。

4.1 修改 azkaban.properties

cd /usr/local/azkaban/azkaban-web-server-3.84.4vim /usr/local/azkaban/azkaban-web-server-3.84.4/conf/azkaban.properties

修改如下属性

default.timezone.id=Asia/Shanghai# Web Server端口
jetty.port=8085mysql.host=mastermysql.password=000000azkaban.executorselector.filters=StaticRemainingFlowSize,CpuStatus

4.2 修改azkaban-users.xml文件,添加 atguigu 用户

用户/权利管理文件

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>

4.3 启动

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
image.png

  • https://www.couragesteak.com/article/226
http://www.lryc.cn/news/59529.html

相关文章:

  • 【Python基础入门学习】Python工具Pycharm的安装与使用
  • 【版本控制】Github同步Gitee镜像仓库自动化脚本
  • 索引的分类
  • 【整理九】
  • 钢网是SMT生产使用的一种工具,如何制作?
  • 如何创建自己的gym环境
  • 使用Marshaller 将Java对象转化为XML格式和字符串转为xml
  • NumPy 秘籍中文第二版:八、质量保证
  • [ 应急响应篇基础 ] 日志分析工具Log Parser配合login工具使用详解(附安装教程)
  • 什么是MVVM?
  • Java 企业电子招投标采购系统源码:采购过程更规范,更透明
  • 1384:珍珠(bead)
  • 34岁本科男,做了5年功能测试想转行,除了进厂还能干什么?
  • 一文理解Transformer整套流程
  • 04、SpringBoot运维实用篇
  • 3.Java运算符
  • 《RockectMQ实战与原理解析》Chapter4-分布式消息队列的协调者
  • Spring Boot 最适配的 UI 是什么
  • TensorFlow 1.x 深度学习秘籍:6~10
  • 分布式场景下,Apache YARN、Google Kubernetes 如何解决资源管理问题?
  • RK3399平台开发系列讲解(基础篇)POSIX 定时器
  • web小游戏开发:扫雷(三)(完成度90%)
  • 创建菜单栏、菜单、菜单项
  • 专访丨AWS量子网络中心科学家Antía Lamas谈量子计算
  • [ 云计算 | Azure ] Chapter 04 | 核心体系结构之数据中心、区域与区域对、可用区和地理区域
  • 升级长江存储最新闪存,忆恒创源发布新一代企业级NVMe SSD
  • Xcode14:”Failed to prepare the device for development“解决
  • 程序员的“灵魂笔记本“:五款高效笔记软件推荐
  • Linux基础命令-scp远程复制文件
  • 【python学习】基础篇-列表元素排序操作 sort()、min()、max()函数