前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据-Azkaban安装

大数据-Azkaban安装

作者头像
cwl_java
发布2019-12-30 17:54:02
1.5K0
发布2019-12-30 17:54:02
举报
文章被收录于专栏:cwl_Javacwl_Java

2. Azkaban安装

2.1. 编译

我们这里选用azkaban3.51.0这个版本自己进行重新编译,编译完成之后得到我们需要的 安装包进行安装

注意:我们这里编译需要使用jdk1.8的版本来进行编译,如果编译服务器使用的jdk版本 是1.7的,记得切换成jdk1.8,我们这里使用的是jdk8u141这个版本来进行编译

代码语言:javascript
复制
cd /export/softwares/ 
wget https://github.com/azkaban/azkaban/archive/3.51.0.tar.gz 
tar ‐zxvf 3.51.0.tar.gz ‐C ../servers/ 
cd /export/servers/azkaban‐3.51.0/ 
yum ‐y install git 
yum ‐y install gcc‐c++ 
./gradlew build installDist ‐x test

编译完成后得到如下文件

azkaban-exec-server

编译完成之后得到我们需要的安装包在以下目录下即可获取得到

azkaban-exec-server存放目录

代码语言:javascript
复制
/export/servers/azkaban‐3.51.0/azkaban‐exec‐server/build/distributions
在这里插入图片描述
在这里插入图片描述

azkaban-web-server

azkaban-web-server存放目录

代码语言:javascript
复制
/export/servers/azkaban‐3.51.0/azkaban‐web‐server/build/distributions
在这里插入图片描述
在这里插入图片描述

azkaban-solo-server

azkaban-solo-server存放目录

代码语言:javascript
复制
/export/servers/azkaban‐3.51.0/azkaban‐solo‐server/build/distributions
在这里插入图片描述
在这里插入图片描述

execute-as-user.c

azkaban two server模式下需要的C程序在这个路径下面

代码语言:javascript
复制
/export/servers/azkaban‐3.51.0/az‐exec‐util/src/main/c
在这里插入图片描述
在这里插入图片描述

数据库脚本文件

数据库脚本文件在这个路径下面

代码语言:javascript
复制
/export/servers/azkaban‐3.51.0/azkaban‐db/build/install/azkaban‐db
在这里插入图片描述
在这里插入图片描述

2.2. Azkaban 单服务模式安装与使用

所需软件 : azkaban-solo-server

Step 1: 解压

azkaban 的solo server使用的是一个单节点的模式来进行启动服务的,只需要一个 azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz的安装包即可启动,所有的数据信息都是 保存在H2这个azkaban默认的数据当中,

上传我们的压缩包,然后修改配置文件启动即可

代码语言:javascript
复制
cd /export/softwares 
tar ‐zxvf azkaban‐solo‐server‐0.1.0‐SNAPSHOT.tar.gz ‐C ../servers/

Step 2: 修改时区配置文件

代码语言:javascript
复制
cd /export/servers/azkaban‐solo‐server‐0.1.0‐SNAPSHOT/conf 
vim azkaban.properties 
```shell

```properties 
default.timezone.id=Asia/Shanghai
在这里插入图片描述
在这里插入图片描述

修改commonprivate.properties配置文件

代码语言:javascript
复制
cd /export/servers/azkaban‐solo‐server‐0.1.0‐SNAPSHOT/plugins/jobtypes 
vim commonprivate.properties 
```shell 

```properties 
execute.as.user=false 
memCheck.enabled=false
在这里插入图片描述
在这里插入图片描述

Step 3: 启动solo-server

启动azkaban-solo-server

代码语言:javascript
复制
cd /export/servers/azkaban‐solo‐server‐0.1.0‐SNAPSHOT bin/start‐solo.sh

Step 4: 浏览器页面访问

浏览器页面访问 http://node03:8081/

在这里插入图片描述
在这里插入图片描述

单服务模式使用

需求:使用azkaban调度我们的shell脚本,执行linux的shell命令

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建普通文本文件 foo.job,文件内容如下

代码语言:javascript
复制
type=command 
command=echo "hello world"

然后将这个文件打包为压缩文件,如下:

在这里插入图片描述
在这里插入图片描述

azkaban上传我们的压缩包

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3. Azkaban 两个服务器模式安装与使用

需要的工具 Azkaban Web服务安装包 azkaban-web-server-0.1.0-SNAPSHOT.tar.gz Azkaban执行服务安装包 azkaban-exec-server-0.1.0-SNAPSHOT.tar.gz

编译之后的sql脚本 create-all-sql-0.1.0-SNAPSHOT.sql

在这里插入图片描述
在这里插入图片描述

C程序文件脚本 execute-as-user.c程序

Step 1: 数据库准备

进入mysql的客户端执行以下命令

代码语言:javascript
复制
mysql ‐uroot ‐p

执行以下命令:

代码语言:javascript
复制
CREATE DATABASE azkaban; 
CREATE USER 'azkaban'@'%' IDENTIFIED BY 'azkaban'; 
GRANT all privileges ON azkaban.* to 'azkaban'@'%' 
identified by 'azkaban' WITH GRANT OPTION; 
flush privileges; 
use azkaban; 
source /export/software/create‐all‐sql‐0.1.0‐SNAPSHOT.sql;

解压软件安装包 解压azkaban-web-server

代码语言:javascript
复制
cd /export/softwares 
tar ‐zxvf azkaban‐web‐server‐0.1.0‐SNAPSHOT.tar.gz ‐C ../servers/ 
cd /export/servers 
mv azkaban‐web‐server‐0.1.0‐SNAPSHOT/ 
azkaban‐web‐server‐3.51.0 * 解压azkaban‐exec‐server 
```shell 

cd /export/softwares 
tar ‐zxvf azkaban‐exec‐server‐0.1.0‐SNAPSHOT.tar.gz ‐C ../servers/ 
cd /export/servers 
mv azkaban‐exec‐server‐0.1.0‐SNAPSHOT/ 
azkaban‐exec‐server‐3.51.0

Step 3: 安装SSL安全认证

安装ssl安全认证,允许我们使用https的方式访问我们的azkaban的web服务 密码一定要一个个的字母输入,或者粘贴也行

代码语言:javascript
复制
 cd /export/servers/azkaban-web-server-3.51.0 
 keytool -keystore keystore -alias jetty -genkey -keyalg RSA

Step 4: azkaban web server安装

修改azkaban-web-server的配置文件

代码语言:javascript
复制
cd /export/servers/azkaban‐web‐server‐3.51.0/conf 
vim azkaban.properties
代码语言:javascript
复制
# Azkaban Personalization Settings 
azkaban.name=Azkaban 
azkaban.label=My 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 
# Velocity dev mode 
velocity.dev.mode=false 
# Azkaban Jetty server properties. 
jetty.use.ssl=true 
jetty.maxThreads=25 
jetty.port=8081 
jetty.ssl.port=8443 
jetty.keystore=/export/servers/azkaban‐web‐server‐3.51.0/keystore 
jetty.password=azkaban 
jetty.keypassword=azkaban 
jetty.truststore=/export/servers/azkaban‐web‐server‐3.51.0/keystore 
jetty.trustpassword=azkaban 
# Azkaban Executor settings 
# 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(ifssl 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 mysql settings by default. Users should configure their own username and password. 
database.type=mysql 
mysql.port=3306 
mysql.host=node03 
mysql.database=azkaban 
mysql.user=azkaban 
mysql.password=azkaban 
mysql.numconnections=100 
#Multiple Executor 
azkaban.use.multiple.executors=true 
#azkaban.executorselector.filters=StaticRemainingFlowSize,MinimumFreeMemo ry,CpuStatus 
azkaban.executorselector.comparator.NumberOfAssignedFlowComparator=1 
azkaban.executorselector.comparator.Memory=1 
azkaban.executorselector.comparator.LastDispatched=1 
azkaban.executorselector.comparator.CpuUsage=1 
azkaban.activeexecutor.refresh.milisecinterval=10000 
azkaban.queueprocessing.enabled=true 
azkaban.activeexecutor.refresh.flowinterval=10 
azkaban.executorinfo.refresh.maxThreads=10

Step 5: azkaban executor server 安装

第一步:修改azkaban-exex-server配置文件

修改azkaban-exec-server的配置文件

代码语言:javascript
复制
cd /export/servers/azkaban‐exec‐server‐3.51.0/conf 
vim azkaban.properties
代码语言:javascript
复制
# Azkaban Personalization Settings 
azkaban.name=Azkaban 
azkaban.label=My 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 
# Velocity dev mode 
velocity.dev.mode=false 
# Azkaban Jetty server properties. 
jetty.use.ssl=true 
jetty.maxThreads=25 
jetty.port=8081 
jetty.keystore=/export/servers/azkaban‐web‐server‐3.51.0/keystore 
jetty.password=azkaban 
jetty.keypassword=azkaban 
jetty.truststore=/export/servers/azkaban‐web‐server‐3.51.0/keystore 
jetty.trustpassword=azkaban 
# Where the Azkaban web server is located 
azkaban.webserver.url=https://node03:8443 
# 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(ifssl 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 
azkaban.jobtype.plugin.dir=plugins/jobtypes 
# Azkaban mysql settings by default. Users should configure their own username and password. 
database.type=mysql 
mysql.port=3306 
mysql.host=node03 
mysql.database=azkaban 
mysql.user=azkaban 
mysql.password=azkaban 
mysql.numconnections=100 
# Azkaban Executor settings 
executor.maxThreads=50 
executor.flow.threads=30

Step 6: azkaban executor server 安装

第二步:添加插件

将我们编译后的C文件execute-as-user.c 上传到这个目录来/export/servers/azkaban-exec-server-3.51.0/plugins/jobtypes 或者直接将我们/export/softwares下面的文件拷贝过来也行

代码语言:javascript
复制
cp /export/softwares/execute‐as‐user.c /export/servers/azkaban‐exec‐ server‐3.51.0/plugins/jobtypes/

然后执行以下命令生成execute-as-user

代码语言:javascript
复制
yum ‐y install gcc‐c++ 
cd /export/servers/azkaban‐exec‐server‐3.51.0/plugins/jobtypes 
gcc execute‐as‐user.c ‐o execute‐as‐user 
chown root execute‐as‐user 
chmod 6050 execute‐as‐user

Step 7: azkaban executor server 安装

第三步:修改配置文件

代码语言:javascript
复制
cd /export/servers/azkaban‐exec‐server‐3.47.0/plugins/jobtypes 
vim commonprivate.properties 

execute.as.user=false 
memCheck.enabled=false 
azkaban.native.lib=/export/servers/azkaban‐exec‐server‐ 3.51.0/plugins/jobtypes

最终生成如下

在这里插入图片描述
在这里插入图片描述

Step 7: 启动服务

第一步:启动azkaban exec server

代码语言:javascript
复制
cd /export/servers/azkaban‐exec‐server‐3.51.0 
bin/start‐exec.sh

第二步:激活我们的exec-server

node03机器任意目录下执行以下命令

代码语言:javascript
复制
curl ‐G "node03:$(<./executor.port)/executor?action=activate" && echo

第三步:启动azkaban-web-server

代码语言:javascript
复制
cd /export/servers/azkaban‐web‐server‐3.51.0/ 
bin/start‐web.sh

访问地址: https://node03:8443

Step 8: 修改linux的时区问题

由于先前做好了时钟同步,所以不用担心时区问题,不需要修改时区了 注:先配置好服务器节点上的时区

  1. 先生成时区配置文件Asia/Shanghai,用交互式命令 tzselect 即可
  2. 拷贝该时区文件,覆盖系统本地时区配置
代码语言:javascript
复制
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2. Azkaban安装
    • 2.1. 编译
      • 2.2. Azkaban 单服务模式安装与使用
        • Step 1: 解压
        • Step 2: 修改时区配置文件
        • Step 3: 启动solo-server
        • Step 4: 浏览器页面访问
      • 2.3. Azkaban 两个服务器模式安装与使用
        • Step 1: 数据库准备
        • Step 3: 安装SSL安全认证
        • Step 4: azkaban web server安装
        • Step 5: azkaban executor server 安装
        • Step 6: azkaban executor server 安装
        • Step 7: azkaban executor server 安装
        • Step 7: 启动服务
        • Step 8: 修改linux的时区问题
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档