Azkaban安装部署

Azkaban安装部署 
在2.5版本之后,Azkaban提供了两种模式来安装: 
一种是standalone的“solo-server”模式;另一种是两个server的模式,分别为AzkabanWebServer和AzkabanExecutorServer 
两个server的模式: 

安装准备
  1. Azkaban官网: https://azkaban.github.io
  2. 软件下载地址: https://github.com/azkaban/azkaban
  3. 官方插件地址: https://github.com/azkaban/azkaban-plugins
  4. 官方文档地址: http://azkaban.github.io/azkaban/docs/latest
安装过程
1 下载。 git clone https://github.com/azkaban/azkaban.git  
得到文件夹 azkaban/
2 编译。执行命令  cd azkaban  ,在该目录下执行 
按照以下步骤编译:
# Build Azkaban ./gradlew build # Clean the build ./gradlew clean # Build and install distributions ./gradlew installDist # Run tests ./gradlew test # Build without running tests ./gradlew build -x test
./azkaban-solo-server/build/distributions/azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz(要其配置文件,其他两个里面没有)
azkaban/azkaban-web-server/build/distributions/azkaban-web-server-.tar.gz
azkaban/azkaban-sql/build/distributions/azkaban-sql-.tar.gz
azkaban/azkaban-exec-server/build/distributions/azkaban-exec-server-.tar.gz

其中主要使用web-server\exec-server两个项目
将以上四个文件拷贝到需要安装的服务器上,解压,将web-server\exec-server分别配成以下目录结构:
文件夹
解释
文件夹
解释
bin
用来存放启动和停止脚本
conf
配置文件,最重要的配置azkaban.properties
lib
jar文件,查看是否存在mysql驱动
extlib
扩展lib
plugins
扩展插件,有hdfs、hive、pig等
web
web目录

3. 安装MYSQL

MySQL 
目前azkaban只支持 mysql,需安装mysql服务器,本文档中默认已安装好mysql服务器,并建立了 root用户,密码 root.
注:账号和里面可以直接设定,比如azkaban/azkaban
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
(1)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
m ysql .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.log 4j .ConsoleAppender
log4j .appender.C.Target =System .err log4j .appender.C.layout =org .apache.log 4j .PatternLayout
log4j .appender.C.layout.ConversionPattern =%d{yyyy-MM-dd HH:mm:ss} %- 5 p %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 =projectsdatabase .type =mysql
mysql .port = 3306
mysql .host =localhost
mysql .database =azkaban
mysql .user =azkabanmysql .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.log 4j .ConsoleAppender
log4j .appender.C.Target =System .err
log4j .appender.C.layout =org .apache.log 4j .PatternLayout
log4j .appender.C.layout.ConversionPattern =%d{yyyy-MM-dd HH:mm:ss} %- 5 p %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

猜你喜欢

转载自blog.csdn.net/fyb1990/article/details/80032624