当前位置: 首页 > 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

相关文章:

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

文章目录前言1、为什么要用工作流调度系统2、常见的工作流调度系统1 集群规划2 配置 MySQL3 配置 Executor Server3.1 修改 azkaban.properties3.2 启动3.3 激活4 配置 Web Server4.1 修改 azkaban.properties4.2 修改azkaban-users.xml文件&#xff0c;添加 atguigu 用户4.3 启…...

【Python基础入门学习】Python工具Pycharm的安装与使用

一、关于Python 1.1 下载Python 在下载与安装pycharm工具前&#xff0c;一定要先安装python 打开Python官网&#xff1a;python下载打开上述网站&#xff0c;选择 Downloads -> 系统 我是Windows系统&#xff0c;点击进入后&#xff0c;找到自己要安装的安装包以及想安装的…...

【版本控制】Github同步Gitee镜像仓库自动化脚本

文章目录Github同步Gitee镜像仓库自动化脚本前言什么是Hub Mirror Action&#xff1f;1.介绍2.用法配置步骤1.生成密钥对2.GitHub私钥配置3.Gitee公钥配置4.Gitee生成私人令牌5.Github绑定Gitee令牌6.编写CI脚本7.多仓库同步推送8.定时运行脚本总结Github同步Gitee镜像仓库自动…...

索引的分类

1.唯一索引 给表中某一列设置为了唯一约束(这列不允许出现重复数据)后&#xff0c;数据库会为将这一列设置索引&#xff0c;这个索引叫做唯一索引&#xff08;主键那一列是一个特殊的唯一索引&#xff0c;不仅要满足唯一索引这一列不可以出现重复数据&#xff0c;而且这一列还…...

【整理九】

目录1.说说你对递归的理解&#xff1f;封装一个方法用递归实现树形结构封装2.Link和import有什么区别&#xff1f;3.什么是FOUC? 如何避免&#xff1f;4.说说你对预编译器的理解&#xff1f;5.shouldComponentUpdate 的作用6.概述下 React 中的事务处理逻辑7.React组件的划分业…...

钢网是SMT生产使用的一种工具,如何制作?

钢网是SMT生产使用的一种工具&#xff0c;其主要功能是将锡膏准确地涂敷在有需要焊接的PCB焊盘上。 钢网的好坏&#xff0c;直接影响印刷工作的质量&#xff0c;目前一般使用的金属钢网&#xff0c;是由薄薄的、带有小孔的金属板制作成的&#xff0c;在开孔处&#xff0c;锡膏…...

如何创建自己的gym环境

我们为什么要创建一个gym的环境呢&#xff1f;因为需要&#xff0c;哈哈哈&#xff0c;这是一句废话&#xff0c;但是也是一句真话。因为我不想自己写强化学习的算法了&#xff0c;我想用一些现成的框架&#xff0c;这些框架训练的都是gym的游戏&#xff0c;那我把我自己想要训…...

使用Marshaller 将Java对象转化为XML格式和字符串转为xml

使用Marshaller 将Java对象转化为XML格式 对象转xml内容 ①工具类 public static String convertObjectToXml(Object obj) throws Exception {StringWriter writer new StringWriter();// 创建 JAXBContext 和 MarshallerJAXBContext context JAXBContext.newInstance(obj.ge…...

NumPy 秘籍中文第二版:八、质量保证

原文&#xff1a;NumPy Cookbook - Second Edition 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 “如果您对计算机撒谎&#xff0c;它将帮助您。” – Perry Farrar&#xff0c;ACM 通讯&#xff0c;第 28 卷 在本章中&#xff0c;我们将介绍以下秘籍&#xff1a; …...

[ 应急响应篇基础 ] 日志分析工具Log Parser配合login工具使用详解(附安装教程)

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…...

什么是MVVM?

MVVM 是 Model-View-ViewModel 的缩写&#xff0c;是M-V-VM三部分组成。它本质上就是MVC的改进版。 M&#xff1a;Model 代表数据模型&#xff0c;也可以在Model中定义数据修改和操作的业务逻辑。 V&#xff1a;View 代表视图UI&#xff0c;它负责将数据模型转化成UI 展现出来。…...

Java 企业电子招投标采购系统源码:采购过程更规范,更透明

满足采购业务全程数字化&#xff0c; 实现供应商管理、采购需求、全网寻源、全网比价、电子招 投标、合同订单执行的全过程管理。 电子招标采购&#xff0c;是指在网上寻源和采购产品和服务的过程。对于企业和企业主来说&#xff0c;这是个既省钱又能提高供应链效率的有效方法…...

1384:珍珠(bead)

1384&#xff1a;珍珠(bead) 时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 有n颗形状和大小都一致的珍珠&#xff0c;它们的重量都不相同。n为整数&#xff0c;所有的珍珠从1到n编号。你的任务是发现哪颗珍珠的重量刚好处于正中间&#xff0c;即在所有珍珠的重量…...

34岁本科男,做了5年功能测试想转行,除了进厂还能干什么?

我的建议是不要给自己设限。任何一个行业只要做到顶尖都是很有作为的&#xff0c;何况是IT行业&#xff0c;本身就比别的行业有优势&#xff0c;如果你现在是功能测试&#xff0c;应该想的是进阶自动化测试或者测试开发 如何在半年时间由功能测试成长为年薪30W的测试开发&#…...

一文理解Transformer整套流程

【备注】部分图片引至他人博客&#xff0c;详情关注参考链接 【PS】query 、 key & value 的概念其实来源于推荐系统。基本原理是&#xff1a;给定一个 query&#xff0c;计算query 与 key 的相关性&#xff0c;然后根据query 与 key 的相关性去找到最合适的 value。举个例…...

04、SpringBoot运维实用篇

一、配置文件1、临时属性设置目前我们的程序包打好了&#xff0c;可以发布了。但是程序包打好以后&#xff0c;里面的配置都已经是固定的了&#xff0c;比如配置了服务器的端口是8080。如果我要启动项目&#xff0c;发现当前我的服务器上已经有应用启动起来并且占用了8080端口&…...

3.Java运算符

Java运算符 运算符基本分为六类&#xff1a;算数运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、三元&#xff08;条件&#xff09;运算符。 一、算术运算符 算数运算符&#xff0c;是指在Java运算中&#xff0c;计算数值类型的计算符号&#xff0c;既然是操作数值…...

《RockectMQ实战与原理解析》Chapter4-分布式消息队列的协调者

4.1 NameServer 的功能 NameServer 是整个消息队列中的状态服务器&#xff0c;集群的各个组件通过它来了解全局的信息 。 同时&#xff0c;各个角色的机器都要定期向 NameServer 上报自己的状态&#xff0c;超时不上报的话&#xff0c; NameServer 会认为某个机器出故障不可用了…...

Spring Boot 最适配的 UI 是什么

与Spring Boot一起使用的最佳 UI 是什么&#xff1f; 我经常碰到的一个常见问题是“与 Spring Boot 一起使用的最佳 UI 是什么&#xff1f;” UI&#xff0c;也称为“用户界面”&#xff0c;有许多不同的风格。 UI 应用程序可能是用 Java Swing、FX 或其他一些技术编写的桌面应…...

TensorFlow 1.x 深度学习秘籍:6~10

原文&#xff1a;TensorFlow 1.x Deep Learning Cookbook 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【ApacheCN 深度学习 译文集】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 不要担心自己的形象&#xff0c;只关心如…...

从零搭建现代化Go开发环境:模块化、工具链与最佳实践

1. 项目概述&#xff1a;为什么需要一个现代化的Go开发环境&#xff1f; 如果你刚开始接触Go语言&#xff0c;或者刚从其他语言&#xff08;比如Java、Python&#xff09;转过来&#xff0c;可能会觉得“不就是装个Go编译器&#xff0c;配个环境变量吗&#xff1f;”。确实&am…...

如何通过Play Integrity API实现Android应用安全防护的精准检测

如何通过Play Integrity API实现Android应用安全防护的精准检测 【免费下载链接】play-integrity-checker-app Get info about your Device Integrity through the Play Intergrity API 项目地址: https://gitcode.com/gh_mirrors/pl/play-integrity-checker-app 想象一…...

从密码学论文到实战:聊聊Renyi散度为啥成了安全证明的‘香饽饽’

从密码学论文到实战&#xff1a;Renyi散度为何成为安全证明的核心工具 密码学研究者们最近几年在论文中频繁引用一个看似晦涩的概念——Renyi散度。如果你正在阅读格密码或后量子密码相关的安全证明&#xff0c;这个词几乎无处不在。但为什么这个诞生于上世纪60年代的信息论概念…...

i.MX6ULL电容触摸驱动开发:从硬件原理到Linux输入子系统实战

1. 项目概述&#xff1a;从零到一&#xff0c;搞定i.MX6ULL电容触摸最近在搞一个基于i.MX6ULL的工控HMI项目&#xff0c;客户要求界面操作必须流畅跟手&#xff0c;这就对触摸屏的响应速度和精度提出了硬性要求。市面上很多现成的模块要么驱动兼容性差&#xff0c;要么调试信息…...

终极虚拟定位指南:FakeLocation让你的Android设备位置自由

终极虚拟定位指南&#xff1a;FakeLocation让你的Android设备位置自由 【免费下载链接】FakeLocation Xposed module to mock locations per app. 项目地址: https://gitcode.com/gh_mirrors/fak/FakeLocation 你是否厌倦了应用的位置限制&#xff1f;想要在社交软件中保…...

面试必问:AI 医疗平台怎么设计?这次彻底讲透

AI 医疗平台怎么设计&#xff1f;一次讲清医生辅助、知识库、问答系统与安全边界 大家好&#xff0c;我是一名有 4 年工作经验的 Java 后端开发。 AI 和医疗结合这个方向这两年非常热&#xff0c;但也正因为它太敏感&#xff0c;所以最怕两种极端&#xff1a;一种是把它吹成“万…...

量子态重构技术QSDC:动态电路与机器学习结合

1. 量子态重构的技术挑战与QSDC框架概述 量子计算领域长期面临一个基础性难题&#xff1a;如何在电路运行过程中获取量子态的"快照"而不破坏其量子特性&#xff1f;传统量子态层析&#xff08;QST&#xff09;需要制备大量相同量子态副本进行测量&#xff0c;不仅效率…...

手把手教你打造个人语音锁:基于PyTorch声纹识别项目,从环境搭建到GUI应用部署全流程

从零构建智能声纹锁&#xff1a;PyTorch工程化实战指南 当生物识别技术逐渐渗透日常生活&#xff0c;声纹识别正以其非接触、高便捷的特性成为身份认证的新宠。不同于指纹或人脸识别需要专用硬件支持&#xff0c;声纹识别仅需普通麦克风即可实现高精度身份验证。本文将带您完整…...

歌词滚动姬终极指南:免费快速制作专业LRC歌词的完整教程

歌词滚动姬终极指南&#xff1a;免费快速制作专业LRC歌词的完整教程 【免费下载链接】lrc-maker 歌词滚动姬&#xff5c;可能是你所能见到的最好用的歌词制作工具 项目地址: https://gitcode.com/gh_mirrors/lr/lrc-maker 歌词滚动姬&#xff08;LRC Maker&#xff09;是…...

深度学习编译器优化:CNN与MHA块的性能差异与实践指南

1. 深度学习编译器优化概述在深度学习模型部署的实际场景中&#xff0c;我们常常面临一个关键矛盾&#xff1a;训练框架&#xff08;如PyTorch&#xff09;的动态图特性虽然灵活&#xff0c;但在推理时会产生显著的性能开销。这正是深度学习编译器技术大显身手的领域——通过静…...