azkaban源码编译安装

下载安装包:

我用的:azkaban-3.40.0.tar.gz
解压:

tar -zxvf azkaban-3.40.0.tar.gz

依赖包:gradle-4.1-all.zip
一定要版本配合

tar -zxvf azkaban-3.40.0.tar.gz
cd azkaban-3.40.0/gradle/wrapper/
#将gradle-4.1-all.zip放入此文件夹中
vim gradle-wrapper.properties 
# 将左后一行改为如图

在这里插入图片描述

cd 
cd source/azkaban-3.40.0
./gradlew build # 进行源码编译,有的版本会无法编译过
./gradlew installDIST -x test # 也可以用此命令,若版本不对执行此命令,以后运行会有问题

编译完后开始编写配置文件:
升成keystore,https协议

keytool -keystore keystore -alias jetty -genkey -keyalg RSA # 在哪个目录下执行 keystore就生成在哪个目录下

azkaban-solo-sever:

cd azkaban-3.40.0/azkaban-solo-server/build/distributions/ 
ls
unzip azkaban-solo-server-0.1.0-SNAPSHOT.zip # 解压到本地
没有log4j.properties文件,需手动编写
vim 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
cd azkaban-solo-server-0.1.0-SNAPSHOT/conf
vim azkaban.properties # 编辑配置文件,需改掉以下对应的文件
	default.timezone.id=Asia/Shanghai
	jetty.use.ssl=true 
	jetty.maxThreads=25 
	jetty.port=8081
	jetty.keystore =/home/hadoop/app/keystore
	jetty.password =000000

azkaban-web-server

cd azkaban-3.40.0/azkaban-web-server/build/distributions/ 
ls
unzip azkaban-web-server-0.1.0-SNAPSHOT.zip # 解压到本地
cd azkaban-web-server-0.1.0-SNAPSHOT
ls
# 会发现没有conf 和 plugins,利用cp -r 命令将solo-server里的复制过来
# 并重新编写 azkaban.properties
# azkaban Personalization Settings
vim azkaban.properties

	azkaban.name=CDH_Azkaban
	azkaban.label=My CDH Azkaban
	azkaban.color=#FF3601
	azkaban.default.servlet.path=/index
	web.resource.dir=web/
	default.timezone.id=Asia/Shanghai
	# Azkaban UserManager class  
	user.manager.class=azkaban.user.XmlUserManager
	user.manager.xml.file=conf/azkaban-users.xml
	# Loader for projects
	executor.global.properties=conf/global.properties
	azkaban.project.dir=projects
	database.type=mysql
	mysql.port=3306
	mysql.host=hadoop000
	mysql.database=azkaban
	mysql.user=azk
	mysql.password=000000
	mysql.numconnections=100000
	# Velocity dev mode 
	velocity.dev.mode=false
	# Azkaban Jetty server properties.
	jetty.use.ssl=true
	jetty.maxThreads=25
	jetty.port=8081
	# Azkaban Executor settings
	executor.port=12321
	# mail settings
	mail.sender=
	mail.host=
	# User facing web server configurations used to construct the user facing server URLs. They are useful when there
	is a reverse proxy between Azkaban web servers and users.
	# enduser -> myazkabanhost:443 -> proxy -> localhost:8081
	# when this parameters set then these parameters are used to generate email links.
	# if these parameters are not set then jetty.hostname, and jetty.port(if ssl configured jetty.ssl.port) are used.
	# azkaban.webserver.external_hostname=myazkabanhost.com
	# azkaban.webserver.external_ssl_port=443
	# azkaban.webserver.external_port=8081
	job.failure.email=
	job.success.email=
	lockdown.create.projects=false
	cache.directory=cache
	# JMX stats
	jetty.connector.stats=true
	executor.connector.stats=true
	# Azkaban plugin settings
	viewer.plugin.dir=/plugins/jobtype
	jetty.keystore=/home/hadoop/app/keystore
	jetty.password=000000
	jetty.keypassword=000000
	jetty.truststore=/home/hadoop/app/keystore
	jetty.trustpassword=000000

根据自己的对应设置编写或者修改
下载数据库mysql
配置数据库
1.安装MySQL
这些说明不会涵盖MySQL DB的安装,但您可以访问MySQL文档站点上的说明。

2.设置数据库(如果配置文件已经写入了用户名密码数据库 可省略创建过程)
为Azkaban 创建一个数据库。例如:

#示例数据库创建命令,尽管db名称不需要是'azkaban'
mysql> CREATE DATABASE azkaban;
为Azkaban 创建数据库用户。例如:

#示例数据库创建命令。用户名不需要是'azkaban'
mysql> CREATE USER'用户名'@ '%'IDENTIFIED BY'密码';

在数据库上设置用户权限。创建阿兹卡班一个用户如果尚未作出,并给用户INSERTSELECTUPDATEDELETE就在阿兹卡班数据库中的所有表的权限。
# 将db,username替换为前面步骤创建的用户名。
mysql> GRANT ALL PRIVILEGES ON azkaban.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

# 导入sql表
mysql> USE DATABASE AZKABAN;
mysql> SOURCE source /home/hadoop/azkaban/azkaban-db/create-all-sql-0.1.0-SNAPSHOT.sql;

# 刷新
mysql> flush privileges;
mysql> quit;

azkaban-exec-server

cd azkaban-3.40.0/azkaban-exec-server/build/distributions/ 
ls
unzip azkaban-exec-server-0.1.0-SNAPSHOT.zip # 解压到本地
cd azkaban-exec-server-0.1.0-SNAPSHOT
ls
cp -r # 继续复制conf puligins、
# 复制并修改对应项目
vim azkaban.properties

	# azkaban Personalization Settings
	default.timezone.id=Asia/Shanghai
	# Loader for projects
	executor.global.properties=conf/global.properties
	azkaban.project.dir=projects
	database.type=mysql
	mysql.port=3306 
	mysql.host=hadoop000
	mysql.database=azkaban
	mysql.user=azk
	mysql.password=000000
	mysql.numconnections=100000
	# Azkaban Executor settings
	executor.maxThreads=50
	executor.port=12321
	executor.flow.threads=30
	# JMX stats 
	jetty.connector.stats=true 
	executor.connector.stats=true
	# Azkaban plugin settings
	azkaban.jobtype.plugin.dir=/plugins/jobtypes       

启动所有都必须用bin/…
在bin的当前目录下启动
如果嫌名字太长或者目录太深 可以复制到你喜欢的地方,也可以起个别名,只要你乐意。

[hadoop@hadoop000 azkaban-web-server-0.1.0-SNAPSHOT]$ bin/azkaban-web-start.sh 

猜你喜欢

转载自blog.csdn.net/theone_1/article/details/84350144