Hadoop学习之工作流调度Azkaban

目录

一、工作流概述

1.背景

2.工作流调度工具

1)Azkaban

2)Oozie

3)Zeus

二、Azkaban概述

1.特点

2.Azkaban组成结构

3.Azkaban部署模式

1)solo-servermode(独立服务器模式)

2)twoservermode(双服务器模式)

3)distributedmultiple-executormode(分布式多执行器模式)

三、Azkaban安装部署

1.下载

2.上传zip 

3.解压 

1)安装unzip

2)解压到当前目录 

4.Azkaban目录介绍

5.编译

1)编译出现错误

2)下载git

3)重新启动编译 

6.重新编译 

四、各虚拟机安装所需数据库

1.安装wget

2.安装mysql数据库 

3.安装mysql服务器

4.安装成功

5.启动

6.修改初始密码 

1)修改密码

7.开启虚拟机远程访问

五、建立azkabna数据库,azkaban数据库初始化 

1.找到azkaban压缩文件

2.导入数据库脚本

六、Azkabanweb服务器配置

1.ssl的创建

2.查看Azkaban的web服务器文件

3.解压到/export/servers

4.查看目录

 5.配置web服务

1)Azkaban.properties

2)azaban-users.xml(可选的配置)

七、Azkaban的Executor服务器的安装配置

 1.查看相关文件

2.解压 

4.配置exec文件 

八、启动测试 

1.启动exec服务

1)查看日志文件 

2)查看日志 

3)说明azkaban Executor启动成功

2.启动web服务

1)查看日志出现错误

 2)激活exector服务

3)重新启动web服务失败 

4)回到exec根目录执行 激活

5)回到web目录bin下进行web启动 

3.登录web

九、 Azkaban任务调度

1、任务调度测试

1)创建job任务)

2)打成压缩包 

3) 把压缩包下载到本地

4)创建项目 

5)上传压缩包

6)查看工作流详情 

7)任务立即执行 

8)出现执行错误

9)重新启动azkaban的exec和web服务,并重新执行任务

10)查看执行结果

2.HDFS任务调度

1)创建job描述任务

2)将job文件打zip包 

3)在webui上创建项目并上传压缩包 

4)启动hadoop集群 

5)启动执行

6)出现错误 

7)修改文件 

8)重启 

9)查看结果

十、MapReduce任务调度

1.创建wordcount_mr.job文件

2.与jar包一起打包成wordcount_mr压缩包 

3.启动exec服务 

4.激活exec服务 

5.启动web服务 

6.上传压缩包

7.运行 

8.成功

9.查看结果 

十一、hive任务调度 

1.安装hive

2.创建一个名为hive.job的job文件

3.创建test.sql文件

4.创建aztest文件

5.在hdfs上创建文件夹

6.上传aztest文件至hdfs 

7.上传成功 

8.将job文件和sql文件打包下载 

9.上传至azkban 

10.运行 

 11.运行成功

12.查看运行结果 


一、工作流概述

1.背景

一个完整的数据分析系统通常都是由大量任务单元组成,例如shell脚本程序、java程序、mapreduce程序和hive脚本等。各任务单元之间存在时间先后及依赖关系,为了将这复杂的执行计划组织起来,需要一个工作流调度系统来调度执行。

2.工作流调度工具

1)Azkaban

Azkaban是由Linkedin公司开源的一个批量工作流任务调度器,用于在一个工作流内以一个

特定的顺序运行一组工作和流程。

2)Oozie

Oozie是Apache旗下的,用于管理Hadoop任务的工作流/协调系统,可与Hadoop生态圈紧

密结合,提供诸多配置和功能。

3)Zeus

阿里开源的基于Hadoop平台的开源工作流调度系统,使用java开发语言

二、Azkaban概述

1.特点

2.Azkaban组成结构

Azkaban工作流管理器由三个核心部分组成,分别是RelationalDatabase(关系型数

据库MySQL)、AzkabanWebServer(Web服务器)、AzkabanExecutorServer(执行服务器)。

3.Azkaban部署模式

1)solo-servermode(独立服务器模式)

在独立服务器模式下,使用的数据库是内嵌的H2,并且webserver和executorserver都在

同一进程中运行,通常适用于小规模测试阶段。

2)twoservermode(双服务器模式)

双服务器模式适用于比较复杂的生产环境,它的数据库会由具有主从设置的MySQL实例提

供支持。其中,Web服务器和执行服务器应在不同的进程中运行,以便升级和维护过程中

不影响用户。

3)distributedmultiple-executormode(分布式多执行器模式)

分布式多执行器模式适用于特别复杂的生产环境,理想情况下,Web服务器和执行服务器应在不同的主机中运行,以便升级和维护不影响用户。这种分布式多主机设置的模式为

Azkaban带来了强大且可扩展的性能。

三、Azkaban安装部署

1.下载

2.上传zip 

3.解压 

1)安装unzip

2)解压到当前目录 

4.Azkaban目录介绍

5.编译

小知识;jar包依赖管理的两种方式

Maven

Gradle

1)编译出现错误

2)下载git

3)重新启动编译 

6.重新编译 

[root@hadoop001 azkaban]# ./gradlew build -x test

四、各虚拟机安装所需数据库

1.安装wget

2.安装mysql数据库 

[root@hadoop001 ~]

# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

[root@hadoop001 software]

# yum -y install mysql57-community-release-el7-10.noarch.rpm

3.安装mysql服务器

4.安装成功

 

5.启动

6.修改初始密码 

进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码

1)修改密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'jj12315kk.';

7.开启虚拟机远程访问

mysql> use mysql;

mysql> update user set host = '%' where user = 'root';

mysql> flush privileges;

mysql> exit

五、建立azkabna数据库,azkaban数据库初始化 

1.找到azkaban压缩文件

[root@hadoop001 distributions]# tar xzvf azkaban-db-0.1.0-SNAPSHOT.tar.gz

2.导入数据库脚本

mysql> use azkaban

mysql> source /export/servers/azkaban/azkaban-db/build/distributions/azkaban-db-0.1.0-SNAPSHOT/create-all-sql-0.1.0-SNAPSHOT.sql

mysql> show tables;

六、Azkabanweb服务器配置

1.ssl的创建

Azkaban使用ssl进行连接数据库,需要先创建密钥库

使用RSA公钥加密算法

2.查看Azkaban的web服务器文件

3.解压到/export/servers

4.查看目录

 5.配置web服务

1)Azkaban.properties

 

2)azaban-users.xml(可选的配置)

 

七、Azkaban的Executor服务器的安装配置

 1.查看相关文件

 

2.解压 

[root@hadoop001 distributions]# tar xzvf azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz -C /export/servers/

3.查看解压后的文件夹

4.配置exec文件 

 

 

八、启动测试 

1.启动exec服务

1)查看日志文件 

2)查看日志 

3)说明azkaban Executor启动成功

2.启动web服务

1)查看日志出现错误

cat webServerLog_2021-12-08+16\:08\:05.out

 2)激活exector服务

[root@hadoop001 bin]# curl -G "localhost:$(<./executor.port)/executor?action=activate" && echo

[root@hadoop001 bin]# curl -G "localhost:43114/executor?action=activate" && echo

表示激活成功

3)重新启动web服务失败 

4)回到exec根目录执行 激活

5)回到web目录bin下进行web启动 

3.登录web

九、 Azkaban任务调度

1、任务调度测试

1)创建job任务)

first.job

 second.job

2)打成压缩包 

3) 把压缩包下载到本地

4)创建项目 

 

不要使用中文

5)上传压缩包

6)查看工作流详情 

7)任务立即执行 

点击立即执行

8)出现执行错误

 修改web文件

修改commonprivate文件

 

9)重新启动azkaban的exec和web服务,并重新执行任务

 

10)查看执行结果

2.HDFS任务调度

1)创建job描述任务

2)将job文件打zip包 

3)在webui上创建项目并上传压缩包 

4)启动hadoop集群 

5)启动执行

6)出现错误 

7)修改文件 

8)重启 

9)查看结果

十、MapReduce任务调度

1.创建wordcount_mr.job文件

2.与jar包一起打包成wordcount_mr压缩包 

3.启动exec服务 

4.激活exec服务 

5.启动web服务 

6.上传压缩包

 

7.运行 

8.成功

 

9.查看结果 

十一、hive任务调度 

1.安装hive

2.创建一个名为hive.job的job文件

内容

3.创建test.sql文件

内容

4.创建aztest文件

内容

5.在hdfs上创建文件夹

6.上传aztest文件至hdfs 

7.上传成功 

8.将job文件和sql文件打包下载 

9.上传至azkban 

10.运行 

 11.运行成功

12.查看运行结果 

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值