`
ssydxa219
  • 浏览: 629367 次
  • 性别: 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
分享到:
评论

相关推荐

    简明Azkaban技术手册.pdf

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

    azkaban3.33.0安装包(已编译)

    在安装Azkaban3.33.0时,你需要解压"azkaban-web-server-3.33.0-1-g23f0cf2.tar.gz",然后根据官方文档或社区提供的指南配置环境变量、数据库连接、服务器端口等参数。在集群模式下,还需要配置负载均衡器来分发请求...

    azkaban-solo-server-3.81.0.tar

    欢迎白嫖 azkaban-solo-server-3.81.0.tar 大数据azkaban单机部署文件,在 3.0 版本之后,提供了两种模式:独立的solo-server模式和分布式多执行器模式。本资源欢迎免费使用,即装即用无需编译。

    Hadoop平台相关软件快速搭建教程

    - Azkaban:3.0 ##### 2. 虚拟机配置 - **关闭防火墙**: ```bash chkconfig iptables off ``` - **安装虚拟机软件**:参考[高版本安装教程](https://jingyan.baidu.com/article/9f7e7ec09da5906f281554d6.html...

    大数据Ambari+HDP最优架构选型.pdf

    4. **HDP 3.0 Hive新特性**:随着HDP版本的升级,Hive可能引入了新的查询优化、数据处理功能或者与其他组件的集成改进。 5. **Spark动态资源分配**:Spark的动态资源分配允许根据工作负载自动调整执行器的资源,以...

    1-2+快手大数据任务调度系统设计与实践.pdf

    - **调度系统分类**:调度系统分为资源调度系统(如Yarn、K8s、Mesos)和任务调度系统(如Airflow、DS、Azkaban)。前者关注底层资源分配,后者侧重于任务的及时准确执行。 - **大数据场景的任务调度**:涵盖了...

    Hadoop大数据常见问题及处理方法.docx

    此外,Hive官方文档中明确建议不要使用索引功能,并且从Hive 3.0版本开始,索引功能已被废弃,转而使用物化视图来替代索引的作用。 #### 三、Hive任务调度 运维人员可以通过编写Hive SQL脚本并使用任务调度工具如...

    hive面试题(Hadoop)

    在Hive 3.0版本之前,索引的功能较为有限,且索引的建立和维护成本较高,因此实际应用中较少使用。 #### 索引适用场景 - **静态字段**:对于那些不经常更新的字段,可以考虑建立索引,以避免频繁地重建索引数据。 -...

Global site tag (gtag.js) - Google Analytics