`
ssydxa219
  • 浏览: 627022 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Azkaban 3.0+ 安装

 
阅读更多
Azkaban 3.0+ 安装


在root的用户下搭建的

• Azkaban安装部署(可参照:http://azkaban.github.io/azkaban/docs/latest/)

1):前提 安装JDK,安装Hadoop,Hive客户端环境

    本次安装azkaban的版本3.20.0-5,相对版本2.5有部分变化,此次安装 two-server模式

    In version 3.0 we provide three modes: the stand alone “solo-server” mode, the heavier weight two server mode and distributed multiple-executor mode. The following describes the differences between the two modes.

    三种模式

        solo-server模式:exec进程和web进程为同一个进程,存放元数据的数据库为H2
        two-server模式:与之前的单机版本类似,exec进程和web进程分开,存放元数据的数据库为mysql
        multiple-executor模式:exec进程和web进程在不同的机器上,存放元数据的数据库为mysql


安装准备

   Azkaban官网: https://azkaban.github.io
    软件下载地址: https://github.com/azkaban/azkaban
    官方插件地址: https://github.com/azkaban/azkaban-plugins
    官方文档地址: http://azkaban.github.io/azkaban/docs/latest

安装过程

1 下载。gpwd

得到文件夹azkaban/

2 编译。执行命令 cd azkaban ,在该目录下执行
./gradlew installDist 生成一系列文件。

3)进入azkaban
然后命令: vim azkaban-common/src/main/java/azkaban/jobExecutor/ProcessJob.java
最后将final boolean isExecuteAsUser = this.sysProps.getBoolean(EXECUTE_AS_USER, true);
true修改false  (修改它之后,下载五个不会出错)

进行azkaban路径

==》运行这句话会生成5个压缩包

命令:./gradlew distTar                                                

azkaban-db-3.37.0-10-gdd67b02.tar.gz
azkaban-exec-server-3.37.0-10-gdd67b02.tar.gz
azkaban-hadoop-security-plugin-3.37.0-10-gdd67b02.tar.gz
azkaban-solo-server-3.37.0-10-gdd67b02.tar.gz
azkaban-web-server-3.37.0-10-gdd67b02.tar.gz

这个5包是分别放在azkaban-*/build/distributions/*下

是在当前azkaban文件夹下,那么先把5包拷贝出来,放到/opt/azkaban-jar文件夹

命令:cp  azkaban-*/build/distributions/*.tar.gz  /ddhome/tools/azkaban-tar

把这五个包解压,然后重命令 ,把这个5包放到另外的路径下/ddhome/tools/azkaban/
它们分别都在azkaban-db, azkaban-exec-server,azkaban-hadoop,azkaban-solo-server,azkaban-web-server
=========================================================================================================================================


3 拷贝。另新建目录 mkdir azkaban-3.20.0,执行 cp azkaban/azkaban-exec-server/build/distributions/azkaban-exec-server-3.20.0-5-g28fc94e7.tar.gz azkaban-3.20.0
cp azkaban/azkaban-web-server/build/distributions/azkaban-web-server-3.20.0-5-g28fc94e7.tar.gz azkaban-3.20.0
cp azkaban/azkaban-sql/build/distributions/azkaban-sql-3.20.0-5-g28fc94e7.tar.gz azkaban-3.20.0
cd azkaban-3.20.0
tar -zvxf azkaban-exec-server-3.20.0-5-g28fc94e7.tar.gz
tar -zvxf azkaban-web-server-3.20.0-5-g28fc94e7.tar.gz
tar -zvxf azkaban-sql-3.20.0-5-g28fc94e7.tar.gz
=========================================================================================================================================
4. 创建 azkaban 元数据库。在Mysql数据库中创建元数据。同时从外部导入mysql jar包到 azkaban-exec-server-3.0.0/extlib/ 和 azkaban-web-server-3.0.0/extlib/
1) 以 root 用户登录mysql
    2) CREATE DATABASE azkaban;
    3 CREATE USER 'azkaban'@'%' IDENTIFIED BY 'dd@2018';
    4) GRANT SELECT,INSERT,UPDATE,DELETE ON azkaban.* to 'azkaban'@'%' WITH GRANT OPTION;
    5) flush privileges;
    6) use azkaban;
    7) 将azkaban sql表结构导入mysql :  source  /ddhome/bin/azkaban/source azkaban-db/build/sql/create-all-sql-0.1.0-SNAPSHOT.sql
=============================================================================================================================================

5 配置azkaban-web-server。
执行 mv azkaban-exec-server-3.20.0-5-g28fc94e7 azkaban-exec-server-3.20.0-5,
且在该目录下执行 keytool -keystore keystore -alias jetty -genkey -keyalg RSA 生成 keystore 文件,配置SSL。
cd azkaban-exec-server-3.20.0-5,
此目录如下 bin conf extlib lib plugins projects temp 目录(如该目录下没有相应的文件夹,
则直接在 azkaban-solo-server 目录下拷贝就行)。

conf目录下存放 azkaban.properties global.properties log4j.properties 三个文件

extlib 目录下存放 mysql-connector-java-5.1.41-bin.jar 连接mysql的Java驱动包

plugins目录下存放 jobtypes/commonprivate.properties 文件

azkaban.properties

#Azkaban Personalization Settings
azkaban.name=dd
azkaban.label=DD Azkaban
azkaban.color=#FF3601
azkaban.default.servlet.path=/index
web.resource.dir=/ddhome/bin/azkaban/azkaban-web-server/web/web/
#default.timezone.id=America/Los_Angeles
default.timezone.id=Asia/Shanghai
#Azkaban UserManager class
user.manager.class=azkaban.user.XmlUserManager
user.manager.xml.file=/ddhome/bin/azkaban/azkaban-web-server/web/conf/azkaban-users.xml

#Loader for projects
executor.global.properties=/ddhome/bin/azkaban/azkaban-web-server/conf/global.properties
azkaban.project.dir=projects

#plugins
viewer.plugin.dir=/ddhome/bin/azkaban/azkaban-web-server/web/plugins/viewer/hdfs
#viewer.plugin.dir=hdfs
#viewer.plugins=hdfs

database.type=mysql
mysql.port=3306
mysql.host=192.168.55.91
mysql.database=azkaban
mysql.user=root
mysql.password=dd@2018
mysql.numconnections=100

# Velocity dev mode
velocity.dev.mode=false

# Azkaban Jetty azkaban-web-server properties.
jetty.maxThreads=25
jetty.ssl.port=8443
jetty.port=8081
jetty.keystore=/ddhome/bin/azkaban/azkaban-web-server/web/conf/keystore
jetty.password=dd@2018
jetty.keypassword=dd@2018
jetty.truststore=/ddhome/bin/azkaban/azkaban-web-server/web/conf/keystore
jetty.trustpassword=dd@2018

# Azkaban Executor settings
executor.port=18080
# mail settings
mail.user=ssydxa219@qq.com
mail.password=dd@2018
lockdown.create.projects=false
cache.directory=cache



log4j.properties

log4j.rootLogger=INFO,C
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.Target=System.err
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

6 配置 azkaban-exec-server.配置对应 conf/azkaban.properties conf/global.properties conf/log4j.properties

azkaban.properties

operties
# Azkaban
default.timezone.id=America/Los_Angeles

# Azkaban JobTypes Plugins
azkaban.jobtype.plugin.dir=plugins/jobtypes

# Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects

database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100

# Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30

# JMX stats
jetty.connector.stats=true
executor.connector.stats=true

# uncomment to enable inmemory stats for azkaban
#executor.metric.reports=true
#executor.metric.milisecinterval.default=60000

log4j.properties
log4j.rootLogger=INFO,C
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.Target=System.err
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n


7 启动。启动web-server和exec-server,执行bin/azkaban-executor-start.sh 和 bin/azkaban-web-start.sh 命令。创建Project,两种方式:web界面创建和通过API创建(方法)。

7 插件安装

    git clone https://github.com/azkaban/azkaban-plugins.git
    cd 到对应目录下
    执行 ant




azkaban

azkaban 是一个用Java开发的开源调度工具workflow,同类型的工具有用Python开发的 airflow 和 luigi.
build

在我的windows上无法build成功,我在CentOS上build成功了

git clone https://github.com/azkaban/azkaban.git
cd azkaban
./gradlew build installDist

run

我的需求比较简单 solo server 就可以满足要求

cd azkaban-solo-server/build/install/azkaban-solo-server
bin/azkaban-solo-start.sh
bin/azkaban-solo-shutdown.sh

config

使用MySQL数据库,MySQL新建用户

CREATE DATABASE azkaban;
CREATE USER 'azkaban'@'%' IDENTIFIED BY 'azkaban';
GRANT ALL PRIVILEGES ON azkaban.* to 'azkaban'@'%';

修改配置文件

#设置为上海时间(东八区),否则会按美国时间执行
default.timezone.id=Asia/Shanghai

#注释掉默认的H2数据库配置后,配置MySQL数据库
database.type=mysql
mysql.port=3306
mysql.host=192.168.0.1
mysql.database=azkaban
mysql.user=username
mysql.password=password
mysql.numconnections=10


#配置告警邮件
mail.sender=xxx@163.com
mail.host=smtp.163.com
mail.user=mailUsername
mail.password=mailPassword

启动的时候会自动创建数据库
plugin

https://github.com/azkaban/az...

使用ant编译,需要安装ant

sudo yum install ant
sudo yum install ant-junit

sudo apt-get install ant
sudo apt-get install ant-optional

git clone https://github.com/azkaban/azkaban-plugins.git

# step 1
cd azkaban-plugins
cd plugins
cd hadoopsecuritymanager
ant package

# step 2
cd ..
cd crypto
ant package


# step 3
cd ..
cd jobtype
ant package

azkaban-plugins/dist/jobtype/packages/azkaban-jobtype-3.0.0.tar.gz
解压到
azkaban/azkaban-solo-server/build/install/azkaban-solo-server/plugins/jobtypes

commonprivate.properties
common.properties

execute.as.user 设置为false,否者会报错

# configs for jobtype security settings
execute.as.user=false
azkaban.native.lib=

我目前只想运行java job,不想使用hadoop,修改源代码,可以不使用hadoop。否则没有配置hadoop 环境会报错。




    本次安装azkaban的版本3.20.0-5,相对版本2.5有部分变化,此次安装 two-server模式

    In version 3.0 we provide three modes: the stand alone “solo-server” mode, the heavier weight two server mode and distributed multiple-executor mode. The following describes the differences between the two modes.

    三种模式

        solo-server模式:exec进程和web进程为同一个进程,存放元数据的数据库为H2
        two-server模式:与之前的单机版本类似,exec进程和web进程分开,存放元数据的数据库为mysql
        multiple-executor模式:exec进程和web进程在不同的机器上,存放元数据的数据库为mysql

安装准备

    Azkaban官网: https://azkaban.github.io
    软件下载地址: https://github.com/azkaban/azkaban
    官方插件地址: https://github.com/azkaban/azkaban-plugins
    官方文档地址: http://azkaban.github.io/azkaban/docs/latest

安装过程

1 下载。git clone https://github.com/azkaban/azkaban.git
得到文件夹azkaban/

2 编译。执行命令 cd azkaban ,在该目录下执行
./gradlew installDist 生成一系列文件。

3 拷贝。另新建目录 mkdir azkaban-3.20.0,执行 cp azkaban/azkaban-exec-server/build/distributions/azkaban-exec-server-3.20.0-5-g28fc94e7.tar.gz azkaban-3.20.0
cp azkaban/azkaban-web-server/build/distributions/azkaban-web-server-3.20.0-5-g28fc94e7.tar.gz azkaban-3.20.0
cp azkaban/azkaban-sql/build/distributions/azkaban-sql-3.20.0-5-g28fc94e7.tar.gz azkaban-3.20.0
cd azkaban-3.20.0
tar -zvxf azkaban-exec-server-3.20.0-5-g28fc94e7.tar.gz
tar -zvxf azkaban-web-server-3.20.0-5-g28fc94e7.tar.gz
tar -zvxf azkaban-sql-3.20.0-5-g28fc94e7.tar.gz

4 创建 azkaban 元数据库。在Mysql数据库中创建元数据。同时从外部导入mysql jar包到 azkaban-exec-server-3.0.0/extlib/ 和 azkaban-web-server-3.0.0/extlib/

    1) 以 root 用户登录mysql
    2) CREATE DATABASE azkaban;
    3 CREATE USER 'azkaban'@'%' IDENTIFIED BY 'azkaban';
    4) GRANT SELECT,INSERT,UPDATE,DELETE ON azkaban.* to 'azkaban'@'%' WITH GRANT OPTION;
    5) flush privileges;
    6) use azkaban;
    7) source /home/hadoop/azkaban/azkaban-sql-3.20.0-5-g28fc94e7/create-all-sql-3.0.0.sql


5 配置azkaban-web-server。 执行 mv azkaban-exec-server-3.20.0-5-g28fc94e7 azkaban-exec-server-3.20.0-5,且在该目录下执行 keytool -keystore keystore -alias jetty -genkey -keyalg RSA 生成 keystore 文件,配置SSL。
cd azkaban-exec-server-3.20.0-5, 此目录如下 bin conf extlib lib plugins projects temp 目录(如该目录下没有相应的文件夹,则直接在 azkaban-solo-server 目录下拷贝就行)。

conf目录下存放 azkaban.properties global.properties log4j.properties 三个文件

extlib 目录下存放 mysql-connector-java-5.1.41-bin.jar 连接mysql的Java驱动包

plugins目录下存放 jobtypes/commonprivate.properties 文件

azkaban.properties

operties
# Azkaban
default.timezone.id=America/Los_Angeles

# Azkaban JobTypes Plugins
azkaban.jobtype.plugin.dir=plugins/jobtypes

# Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects

# Azkaban元数据库信息
database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100

# Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30

# JMX stats
jetty.connector.stats=true
executor.connector.stats=true

# uncomment to enable inmemory stats for azkaban
#executor.metric.reports=true
#executor.metric.milisecinterval.default=60000


log4j.properties

log4j.rootLogger=INFO,C
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.Target=System.err
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n


6 配置 azkaban-exec-server.配置对应 conf/azkaban.properties conf/global.properties conf/log4j.properties

azkaban.properties

operties
# Azkaban
default.timezone.id=America/Los_Angeles

# Azkaban JobTypes Plugins
azkaban.jobtype.plugin.dir=plugins/jobtypes

# Loader for projects
executor.global.properties=conf/global.properties
azkaban.project.dir=projects

database.type=mysql
mysql.port=3306
mysql.host=localhost
mysql.database=azkaban
mysql.user=azkaban
mysql.password=azkaban
mysql.numconnections=100

# Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30

# JMX stats
jetty.connector.stats=true
executor.connector.stats=true

# uncomment to enable inmemory stats for azkaban
#executor.metric.reports=true
#executor.metric.milisecinterval.default=60000

log4j.properties

log4j.rootLogger=INFO,C
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.Target=System.err
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n


7 启动。启动web-server和exec-server,执行bin/azkaban-executor-start.sh 和 bin/azkaban-web-start.sh 命令。创建Project,两种方式:web界面创建和通过API创建(方法)。

7 插件安装

    git clone https://github.com/azkaban/azkaban-plugins.git
    cd 到对应目录下
    执行 ant
分享到:
评论

相关推荐

    Hadoop+Hive+Spark+Kafka+Zookeeper+Flume+Sqoop+Azkaban+Scala

    大数据常用软件安装指南 一、Hadoop 分布式文件存储系统:HDFS 分布式计算框架:MapReduce 集群资源管理器:YARN 单机伪集群环境搭建 集群环境搭建 常用 Shell 命令 Java API 的使用 基于 Zookeeper 搭建 Hadoop 高...

    Azkaban任务调度安装配置和使用

    ### Azkaban任务调度安装配置和使用 #### 一、Azkaban介绍 ##### 1.1 为什么需要Azkaban 在大数据处理领域,一个完整的数据分析系统往往由多个任务单元组成,如Shell脚本、Java程序、MapReduce作业、Hive SQL脚本...

    Azkaban和datax安装文档.docx

    Azkaban和DataX安装文档 Azkaban是一个批量工作流任务调度器,由LinkedIn公司推出,主要用于在一个工作流内以一个特定的顺序运行一组工作和流程。它的配置是通过简单的key:value对的方式,通过配置中的dependencies...

    Azkaban安装部署使用详细篇

    ### Azkaban 3.39.0 版本安装部署及使用详解 #### 一、Azkaban介绍 Azkaban是一款强大的开源任务调度工具,主要用于管理一系列依赖的批量处理作业,尤其适用于Hadoop环境下的大数据处理流程。Azkaban提供了一个...

    Azkaban3.13安装版

    1. **安装过程**:由于描述中提到“下载即可安装”,这意味着Azkaban3.13的安装应该相当直接。通常,这包括解压下载的`azkaban-3.13.0`压缩包,配置相关的环境变量,如`AZKABAN_HOME`,然后启动Azkaban服务器和Web...

    azkaban4.0编译包

    Azkaban4.0编译包提供了预编译的组件,可以直接安装和使用,无需自行编译源代码。 在Azkaban4.0编译包中,包含了以下四个主要部分: 1. **azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz**:这是Azkaban执行服务器的...

    Azkaban4.0.zip

    6. **文档**:可能包含README文件或其他形式的文档,解释如何安装、配置和使用Azkaban4.0。 安装Azkaban4.0的过程通常包括以下几个步骤: 1. **环境准备**:确保系统满足Azkaban的运行要求,例如Java环境的安装。 ...

    datax on azkaban——datax as a service

    《DataX on Azkaban:构建大数据服务的实践》 DataX是阿里巴巴开源的一款高效、稳定、强大的数据同步工具,它能够支持多种数据源之间的数据迁移。Azkaban则是LinkedIn开发的一个工作流作业调度系统,它为企业级的大...

    azkaban-web+exec+sql

    azkaban-web-server-0.1.0-SNAPSHOT.tar.gz azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz create-all-sql-0.1.0-SNAPSHOT.sql

    Azkaban-3.73.1-windows.zip

    2. 安装并配置数据库,根据azkaban-db-0.1.0-SNAPSHOT.zip中的文档创建Azkaban所需的数据库和表。 3. 配置Azkaban Web服务器和执行器服务器,修改各自配置文件(如conf/azkaban.properties)以指向正确的数据库连接...

    azkaban2.5安装包

    本安装包为Azkaban的2.5版本,无需编译,只需解压和配置即可使用,简化了安装流程。 一、Azkaban简介 Azkaban最初由LinkedIn开发,设计目的是为了简化Hadoop作业的调度和依赖管理。它支持多级作业依赖,提供了一个...

    azkaban2.5.0安装插件

    6. **验证安装**:通过Web浏览器访问Web Server的地址,如果能看到Azkaban的登录界面,表示安装成功。 Azkaban支持多种数据处理工具的集成,例如Hadoop MapReduce、Hive、Pig等,通过工作流定义文件(`.job`)来...

    Azkaban2.5安装手册和安装包

    在本文中,我们将深入探讨Azkaban 2.5的安装过程,以及在安装过程中需要注意的关键点。 首先,安装Azkaban需要一个支持Java的环境,推荐使用JDK 1.8或1.7。确保你的系统已经安装了Java,并且可以正常使用`java`命令...

    azkaban3.33.0安装文档

    本文档详细介绍了Azkaban 3.33.0的安装过程,确保用户能够顺利安装并直接进入Web控制台,运行job。 1. **系统需求** 安装Azkaban之前,你需要确保你的系统满足以下环境要求: - JDK 1.8 或更高版本 - Git 2.0 或...

    azkaban已编译后的tar.gz包azkaban3.90_tar_gz.zip

    azkaban3.90.0详细安装教程https://blog.csdn.net/qq_25073261/article/details/107460525。该压缩包包含了azkaban3.90.0所有组件编译后的文件:azkaban-db、azkaban-exec-server、azkaban-solo-server、azkaban-web...

    Azkaban安装包-2.5.0.zip

    阿兹卡班2.5.0全套安装包,包括azkaban-web-server-2.5.0.tar.gz、azkaban-sql-script-2.5.0.tar.gz、azkaban-executor-server-2.5.0.tar.gz

    azkaban-3.84安装包(免编译)

    通过理解其主要特性、安装包内容以及安装配置步骤,用户可以快速部署并利用Azkaban进行大数据任务的调度。对于大数据项目来说,Azkaban是一个强大的工具,能有效提高工作效率,确保任务的有序执行。

    azkaban4.0.0-db.tar.gz

    在安装或升级Azkaban时,这些SQL脚本至关重要,因为它们定义了Azkaban运行所需的表结构、索引和约束。 压缩包中的子文件"azkaban-db-0.1.0-SNAPSHOT"可能是一个包含多个SQL脚本的目录或者单一的数据库脚本文件。...

    简明Azkaban技术手册.pdf

    Azkaban 3.0 中有三种模式: 1. 单机模式:所有组件运行在同一台机器上,适合小规模的应用场景。 2. 集群模式:多台机器组成集群, Executor 和 Scheduler 分别运行在不同的机器上,适合大规模的应用场景。 3. 高...

Global site tag (gtag.js) - Google Analytics