Azkaban3X的编译安装与使用(确定可用)--提供已经编译好的工具供大家使用

一、Azkaban3X的编译及安装使用(我这里配置的是two servermode模式,exec-server与web-server在不同进程中,在同一台server中)

1.先检查下网络是否畅通:ping  www.baidu.com  测试一下,mysql是否已经安装好并启动了,并在mysql中为

azkaban创建一个数据库,就叫azkaban好了。

2.安装git工具   yum install git  (一般系统中都有内置的git

3.github上下载Azkaban的源代码:git  clone https://github.com/azkaban/azkaban.git

4.下载完成后,当前目录下可以看到azkabancd azkaban

5.检查下版本号 git checkout 版本号

6.补充说明:在进行下一步之前请注意你的jdk是否是1.8及以上的版本,如果不是请更新,3X要求jdk的版本为1.8及以上。

,并且还需要配置jre,分别输入命令java -version,和命令javac 产看javajre是否符合要求。

7.build:可以选择压缩为tar包:./gradlew distTar

         也可以压缩为zip包:    ./gradlew distZip

如果以前building过,最好先清理一下: ./gradlew clean,如果一次不成功,可以根据错误提示多试几次。

在编译过程中可能会碰到警告:有些API已过时,不用管它,只要最后显示build success即可。

8.build成功后,分别进入如下三个个目录:

 cd  /home/hadoop/apps/azkaban/azkaban-exec-server/build/distributions

cd /home/hadoop/apps/azkaban/azkaban-web-server/build/distributions

/home/hadoop/apps/azkaban/azkaban-db/build/distributions

将distributions下的azkaban-exec-server-3.41.0-9-geae1f9d.tar.gz 和,azkaban-web-server-3.41.0-9-geae1f9d.tar.gz,

azkaban-db-3.41.0-9-geae1f9d.tar.gz

分别解压并拷贝到一个单独的文件夹azkabantool下:

mkdir   /home/hadoop/apps/azkabantool/

tar -zxvf   azkaban-exec-server-3.41.0-9-geae1f9d.tar.gz   -C /home/hadoop/apps/azkabantool/

tar -zxvf   azkaban-web-server-3.41.0-9-geae1f9d.tar.gz  -C /home/hadoop/apps/azkabantool/

tar -zxvf  azkaban-db-3.41.0-9-geae1f9d.tar.gz -C  /home/hadoop/apps/azkabantool/

9将azkaban sql表结构导入mysql

mysql> use azkaban;

mysql> source /opt/azkaban-sql-3.1.0/create-all-sql-3.1.0.sql

10 配置keystore

azkaban-web-server-3.1.0$ keytool -keystore keystore-alias jetty -genkey -keyalg RSA

输入密钥库口令: 

密钥库口令太短 - 至少必须为 6 个字符

输入密钥库口令: 

再次输入新口令:

您的名字与姓氏是什么?

[Unknown]: 

您的组织单位名称是什么?

[Unknown]:

您的组织名称是什么?

[Unknown]:

您所在的城市或区域名称是什么?

[Unknown]: 

您所在的省/市/自治区名称是什么?

[Unknown]: 

该单位的双字母国家/地区代码是什么?

[Unknown]: 

CN= firstName, OU= companyName, O= groupName,L=beijing, ST=beijing, C=CN是否正确?[否]:  Y

以上配置完成之后会在当前目录生成一个keystore文件。以下配置会用到。

11 配置conf/azkaban.properties:

        如果Azkaban WebServer下面没有conf目录,将azkaban-solo-web 下的conf目录拷贝过来,并作以下配置:

cat conf/azkaban.properties

# Azkaban Personalization Settings

azkaban.name=Test

azkaban.label=My Local Azkaban

azkaban.color=#FF3601

azkaban.default.servlet.path=/index

web.resource.dir=web/

default.timezone.id=America/Los_Angeles

# 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=localhost

mysql.database=azkaban

mysql.user=azkaban

mysql.password=azkaban

mysql.numconnections=100

# Velocity dev mode

velocity.dev.mode=false

# Azkaban Jetty server properties.

jetty.maxThreads=25

jetty.ssl.port=8443

# jetty.use.ssl=false

jetty.port=8081

jetty.keystore=keystore

jetty.password=azkaban

jetty.keypassword=azkaban

jetty.truststore=keystore

jetty.trustpassword=azkaban

jetty.excludeCipherSuites=SSL_RSA_WITH_DES_CBC_SHA,SSL_DHE_RSA_WITH_DES_CBC_SHA,SSL_DHE_DSS_WITH_DES_CBC_SHA,SSL_RSA_EXPORT_WITH_RC4_40_MD5,SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA

# Azkaban Executor settings

executor.port=12321

# mail settings

mail.sender=

mail.host=

job.failure.email=

job.success.email=

lockdown.create.projects=false

cache.directory=cache

# JMX stats

jetty.connector.stats=true

executor.connector.stats=true

注意:

配置的默认时区是:default.timezone.id=America/Los_Angeles 修改为:default.timezone.id=Asia/Shanghai

12  用户设置

进入 azkaban web 服务器 conf 目录,修改 azkaban-users.xml,增加管理员用户:

<azkaban-users><userusername="azkaban"password="azkaban"roles="admin"groups="azkaban" /><userusername="metrics"password="metrics"roles="metrics"/><userusername="admin"password="admin"roles="admin,metrics" /><rolename="admin"permissions="ADMIN" /><rolename="metrics"permissions="METRICS"/></azkaban-users>

13 启动azkabanweb服务器

cd /opt/azkaban-web-server-3.1.0/

bin/azkaban-web-start.sh

报错:Exception:java.lang.StackOverflowError thrown from the UncaughtExceptionHandler in thread"main"

解决方式:在Azkaban-web-server 的conf目录下创建文件夹conf/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-ddHH:mm:ss} %-5p %c{1}:%L - %m%n

 

14 访问验证https://centos01:8443/  (如果没有配置hosts也可以写ip)

15Azkaban Executor Server 安装和配置

进入azkaban-executor-server目录,将azkaban-web-server下的conf目录拷贝到

该目录下

1)      配置executor端的azkaban.properties

# 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

16 启动执行服务器:

bin/azkaban-executor-start.sh

17两个问题:

1. Failed to build job executorfor job commandnull Failed to build job type

错误原因:是executor配置的插件目录(azkaban.jobtype.plugin.dir=plugins/jobtypes)不存在,创建这个目录就好了

错误:

2. Cannot request memory (Xms 0kb, Xmx 0 kb) from system for job hello

错误原因:azkaban默认运行的系统内存是3G,如果你的系统内存没有达到就会宝这个错误,并且job提交后一直无法运行,阻塞在那里。

解决办法:在executor的plugins/jobtypes目录下创建文件commonprivate.properties,文件的内容为memCheck.enabled=false,最后重新启动就好了

再补充一句,在执行命令之前,要确定hdfs和yarn是否已经启动。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
版本:3.38,解压后,配置自己的环境可直接用 azkaban-3.38.0\azkaban-db azkaban-3.38.0\azkaban-exec-server azkaban-3.38.0\azkaban-solo-server azkaban-3.38.0\azkaban-web-server ----------------后续步骤------------------ 1.创建数据库并导入基本数据 (1)创建数据库 create database azkaban; (2)mysql授权 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; FLUSH PRIVILEGES; (3)导入数据 use azkaban; source /opt/azkaban-3.38.0/azkaban-db/create-all-sql-0.1.0-SNAPSHOT.sql 2. ssl配置 cd /opt/azkaban-3.38.0\azkaban-web-server keytool -keystore keystore -alias jetty -genkey -keyalg RSA 输入密钥库口令: 再次输入新口令: 您的名字与姓氏是什么? [Unknown]: xue 您的组织单位名称是什么? [Unknown]: xue 您的组织名称是什么? [Unknown]: xue 您所在的城市或区域名称是什么? [Unknown]: beijing 您所在的省/市/自治区名称是什么? [Unknown]: beijing 该单位的双字母国家/地区代码是什么? [Unknown]: CN CN=xue, OU=xue, O=xue, L=beijing, ST=beijing, C=CN是否正确? [否]: Y 输入 的密钥口令 (如果和密钥库口令相同, 按回车): 3.修改azkaban-exec-server下配置文件,引入mysql的依赖 (1)将azkaban-solo-server下conf、plugins、sql目录复制到azkaban-exec-server目录下 cd azkaban-3.38.0/azkaban-solo-server/ cp -a ./conf ./plugins ./sql ../azkaban-exec-server (2)修改azkaban-exec-server/conf/的azkaban.properties文件 # Azkaban Personalization Settings azkaban.name=master azkaban.label=My Local 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=/opt/azkaban-3.38.0/azkaban-exec-server/conf/azkaban-users.xml # Loader for projects executor.global.properties=/opt/azkaban-3.38.0/azkaban-exec-server/conf/global.properties azkaban.project.dir=projects database.type=mysql mysql.port=3306 mysql.host=master mysql.database=azkaban mysql.user=root mysql.password=123456 mysql.numconnections=100 (其他默认) 4. 在conf目录下新建log4j.properties文件 [root@master azkaban-exec-server]# vim conf/log4j.properties 复制以下内容到log4j文件: log4j.rootLogger=INFO, Console log4j.logger.azkaban=INFO, server log
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值