必备软件
yum install git -y
单机安装步骤
git clone https://github.com/azkaban/azkaban.git
cd azkaban; ./gradlew build installDist
cd azkaban-solo-server/build/install/azkaban-solo-server; bin/start-solo.sh
# open http://localhost:8081/
bin/shutdown-solo.sh # 当然,这个也需要你的网络环境比较好,如果是公司网络限制比较多的话,可能出现无法编译的情况,比如无法访问gradle的plugin站点等。
多执行器模式安装
文件下载

方法1:下载azkaban代码,编译。

git clone https://github.com/azkaban/azkaban.git
or
git clone https://gitee.com/mirrors/azkaban.git
cd azkaban; ./gradlew build installDist
cd azkaban-db; ../gradlew build installDist
# 当然,这个也需要你的网络环境比较好,如果是公司网络限制比较多的话,可能出现无法编译的情况,比如无法访问gradle的plugin站点等。

方法2:直接下载别人编译好的版本进行安装

https://pan.baidu.com/s/1tq8FLME2zHR539sTAZUw2A | zkl9

这个共享包里是基于2.5.0的版本,下载下来三个文件:

azkaban-executor-2.5.0.zip azkaban-web-2.5.0.zip azkaban-sql-script-2.5.0.tar.gz

登陆mysql, 设置编码为utf8, 为Azkaban创建数据库, 并授权, 导入脚本

azkaban官方建议使用mysql作为后端的数据存储db,使用如下命令创建azkaban的数据库:

mysql -uroot -p123456;
mysql> CREATE DATABASE azkaban;
CREATE USER 'azkaban'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'azkaban'@'192.168.56.3' IDENTIFIED BY '123456';
flush privileges;
source /usr/local/azkaban/azkaban-sql/create-all-sql-2.5.0.sql;
创建SSL配置
keytool -keystore keystore -alias jetty -genkey -keyalg RSA # (记住密码)
cp keystore /usr/local/azkaban/azkaban-web #将当前目录生成 keystore证书文件拷贝到web服务器根目录中
tzselect #使用交互式命令设置时区(Asia/Shanghai, 选北京就是上海)
输入密钥库口令:
密钥库口令太短 - 至少必须为 6 个字符
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: cao
您的组织单位名称是什么?
[Unknown]: parllay
您的组织名称是什么?
[Unknown]: fenghuotai
您所在的城市或区域名称是什么?
[Unknown]: beijing
您所在的省/市/自治区名称是什么?
[Unknown]: beijing
该单位的双字母国家/地区代码是什么?
[Unknown]: CN
CN=cao, OU=parllay, O=fenghuotai, L=beijing, ST=beijing, C=CN是否正确?[否]: Y
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #拷贝该时区文件,覆盖系统本地时区配置
zkaban web服务器配置及用户配置, 进入web服务器安装目录conf

web服务器配置如下:

vim 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=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=192.168.33.205
mysql.database=azkaban
mysql.user=root
mysql.password=root
mysql.numconnections=100 # Velocity dev mode
velocity.dev.mode=false # Azkaban Jetty server properties.
jetty.maxThreads=25
jetty.ssl.port=8443
jetty.port=8081
jetty.keystore=keystore
jetty.password=111111
jetty.keypassword=111111
jetty.truststore=keystore
jetty.trustpassword=111111 # Azkaban Executor settings
executor.port=12321 # mail settings
# 发送邮箱
mail.sender=
#发送邮箱smtp地址
mail.host=
# 任务失败时发送邮件的地址
job.failure.email=
# 任务成功时发送邮件的地址
job.success.email= lockdown.create.projects=false
cache.directory=cache

用户配置如下:

vim azkaban-users.xml

<azkaban-users>
<user username="azkaban" password="azkaban" roles="admin" groups="azkaban"/>
<user username="metrics" password="metrics" roles="metrics"/>
<!-- 设置登录 https://192.168.56.3:8443的账号和密码 -->
<user username="admin" password="admin" roles="admin,metrics"/>
<role name="admin" permissions="ADMIN" />
<role name="metrics" permissions="METRICS"/>
</azkaban-users>
azkaban executor服务器配置, 进入执行服务器安装目录conf

vim azkaban.properties

#Azkaban
default.timezone.id=Asia/Shanghai # 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=192.168.33.205
mysql.database=azkaban
mysql.user=root
mysql.password=root
mysql.numconnections=100 # Azkaban Executor settings
executor.maxThreads=50
executor.port=12321
executor.flow.threads=30
启动各个服务器

azkaban web服务器的启动与关闭, 注意: 只能在web服务器根目录运行

bin/azkaban-web-start.sh
bin/azkaban-web-shutdown.sh
# 如果是正式环境可以采用nohup的方式手动启动

azkaban executor服务器的启动与关闭, 注意: 只能在执行服务器根目录运行

bin/azkaban-executor-start.sh
bin/azkaban-executor-shutdown.sh
# 如果是正式环境可以采用nohup的方式手动启动
登录Web用户界面, 进行操作

网址示例: https://192.168.56.3:8443

Azkaban实战

Azkaba内置的任务类型支持 command、java, 我们可以安装python、datax、sqoop等工具,进行扩展。

简单示例, 操作步骤:

创建 job描述文件
command类型单一job示例

vim command.job

# command.job
type=command
command=echo 'hello'
command类型多job工作流flow示例

vim foo.job

# foo.job
type=command
command=echo foo
# bar.job
type=command
dependencies=foo
command=echo bar
HDFS操作任务示例

vim fs.job

# fs.job
type=command
command=hadoop fs -mkdir /azkaban
MapReduce任务示例

vim mrwc.job

# mrwc.job
type=command
# 也可以将jar包放在mrwc.job的同级目录下, 与其一起压缩为zip文件
command=hadoop jar /home/hadoop/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /input/a.txt /input/output
HIVE脚本任务示例

vim hivef.job vim test.sql

# hivef.job
type=command
command=hive -f 'test.sql'
create database test_db;
将所有 job资源文件打包压缩成 zip文件, 登录 azkaban的 web管理平台, 上传, 执行

启动azkaban遇到问题解决

启动exec-server异常

异常:java.io.FileNotFoundException: conf/global.properties (没有那个文件或目录)

解决方法:vim azkaban.properties 修改 executor.global.properties 为绝对路径

启动exec-web异常

异常:

java.lang.RuntimeException:java.lang.reflect.InvocationTargetException

解决方法:vim azkaban.properties 修改 user.manager.xml.file 为绝对路径

参考资料

CentOS中安装Azkaban 2.5的更多相关文章

  1. 在centos中安装jenkins master测试环境

    在centos中安装jenkins   1)安装目录 pwd (/home/AAA)   2)检查java是否安装 [AAA@Centos_AAA jenkins]$ java -version  j ...

  2. centos中安装chromium和flash

    安装环境:centos 6.5 64位 在centos中安装chromium 安装Google源 cd /etc/yum.repos.d/ sudo wget http://people.CentOS ...

  3. Centos中安装Sublime编辑器

    Centos中安装Sublime编辑器 1.从官网下载相应操作系统的下的安装包(http://www.sublimetext.com/2),这里下的是linux下的安装包 2.解压安装包,并将其放在/ ...

  4. centos中安装tomcat6

    在centos中安装tomcat6   1)通过yum自动安装tomcat和dependences root@Centos_AAA ~]# yum install tomcat6 [root@Cent ...

  5. 在Centos中安装HustOJ实验记录

    hustoj是目前使用最广泛的刷题平台,自建平台是编程教学中重要一环,教,学,测,反思形成闭合回路.目前利用现有的服务器资源,建成了开高开源code中心,一个刷题系统,六月再建一个私有云,私有云不仅是 ...

  6. centos中安装tomcat

    1.先保证centos中安装了jre的环境. 2.上传tomcat的压缩包到root根目录. 3.切换到根目录 输入命令cd ~ , 然后 ll , 查看上传情况: 4.选中复制压缩文件,输入解压命令 ...

  7. Docker学习笔记之-在CentOS中安装Docker

    上一节演示了如何 通过Xshell连接CentOS服务,链接:Docker学习笔记之-通过Xshell连接 CentOS服务 本节将演示 如何在CentOS中安装 Docker 第一步:更新系统包到最 ...

  8. centos中安装字体

    转载自:http://blog.csdn.net/wlwlwlwl015/article/details/51482065 在使用phantomjs做自动化网页截图时,发现截图都没有文字.最后好久才发 ...

  9. 在centos中安装jenkins master为service

    需要sudo或root权限.    翻译自: https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Red+Hat+dis ...

随机推荐

  1. MySql处理函数

    Lower(name) 转换为小写 Upper(name)转换为大写 Substr(name,length,index):从index开始截取length个字符串 Length(name) 获取长度 ...

  2. AsnycLocal与ThreadLocal

    AsnycLocal与ThreadLocal AsnyncLocal与ThreadLocal都是存储线程上下文的变量,但是,在实际使用过程中两者又有区别主要的表现在: AsyncLocal变量可以在父 ...

  3. MySql导出sql语句

    sql解释: mysqldump 是mysql的一个专门用于拷贝操作的命令 --opt 操作的意思 --compress 压缩要传输的数据 --skip-lock 忽略锁住的表(加上这句能防止当表有外 ...

  4. win7下解决vs2015新建项目,提示“未将对象引用设置到引用实例“的问题

    问题描述: 打开vs2015新建c++项目时,出现有如下内容的对话框“未将对象引用设置到引用实例”的提示 解决方法: 1.  温馨提示:千万不要一冲动,就去卸载vs2015!! win7下安装vs20 ...

  5. ActiveReports 报表应用教程 (13)---嵌入第三方控件

    葡萄城ActiveReports报表与Visual Studio完美集成,给我们带来更为灵活易用的报表定制和自定义控件嵌入支持,除了可以在报表中使用葡萄城ActiveReports报表内置控件外,您还 ...

  6. VS2010部署相关

    找到一篇写得最负责的.贴住收藏了: http://blog.csdn.net/xhf55555/article/details/7702212. 之前在其它地方找的都缺胳膊少腿,真不知他们自己怎么实现 ...

  7. Expo大作战(二十六)--expo sdk api之Video和WebBrowser

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  8. 【Python】生成词云

    import matplotlib.pyplot as plt from wordcloud import WordCloud import jieba text_from_file_with_apa ...

  9. python 实现int函数

    拖了这么久,最终还是战胜了懒惰,打开电脑写了这篇博客,内容也很简单,python实现字符串转整型的int方法 python已经实现了int方法,我们为什么还要再写一遍,直接用不就好了?事实确实如此,但 ...

  10. 解决MySQL5.6中的Slave延迟问题的基本教程

    一.原因分析一般而言,slave相对master延迟较大,其根本原因就是slave上的复制线程没办法真正做到并发.简单说,在master上是并发模式(以InnoDB引擎为主)完成事务提交的,而在sla ...