Azkaban使用安装文档

Azkaban简介

Azkaban的是什么

Azkaban是由Linkedin公司推出的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。

Azkaban 的优点

  • 提供功能清晰,简单易用的Web UI界面
  • 提供job配置文件快速建立任务和任务之间的依赖关系
  • 提供模块化和可插拔的插件机制,原生支持command、Java、Hive、Pig、Hadoop
  • 基于Java开发,代码结构清晰,易于二次开发

Azkaban的安装

Azkaban的安装模式

Azkaban有三种部署方式:solo server mode , cluster server mode,multiple-execoutor

  • solo server mode(单机模式):该模式中webServer和executorServer运行在同一个进程中,进程名是AzkabanSingleServer。可以使用自带的H2数据库或者配置mysql数据。该模式适用于小规模的使用。
  • cluster server mode(集群模式):该模式使用MySQL数据库,webServer和executorServer运行在不同进程中,该模式适用于大规模应用。

3.0以后出现

  • multiple-executor模式:exec进程和web进程在不同的机器上,存放元数据的数据库为mysql

安装mysql

本地安装

解压mysql

Tar -vxf mysql*

安装mysql

MySQL-5.6.21-1.el7.x86_64.rpm-bundle.tar

MySQL-client-5.6.21-1.el7.x86_64.rpm

MySQL-devel-5.6.21-1.el7.x86_64.rpm

MySQL-embedded-5.6.21-1.el7.x86_64.rpm

MySQL-server-5.6.21-1.el7.x86_64.rpm

MySQL-shared-5.6.21-1.el7.x86_64.rpm

MySQL-shared-compat-5.6.21-1.el7.x86_64.rpm

MySQL-test-5.6.21-1.el7.x86_64.rpm

可能会报错

删除包冲突即可

yum -y remove mariadb-libs-*

在线安装

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

rpm -ivh mysql-community-release-el7-5.noarch.rpm

yum install mysql-community-server

安装完成后

systemctl start mysqld.service

设置mysql账号并创建azkaban数据库

mysql -uroot

mysql> set password for 'root'@'localhost' = password('123456');

mysql> CREATE DATABASE azkaban;

mysql> CREATE USER 'azkaban'@'%' IDENTIFIED BY 'azkaban';

mysql> GRANT ALL ON azkaban.* to 'azkaban'@'%' IDENTIFIED BY 'azkaban';

mysql> flush privileges;

安装jdk

Jdk版本必须为1.8以上版本,低版本报错

上传jdk-8u141-linux-x64.tar.gz 并解压

tar –xvzf jdk-*;

配置jdk环境

export JAVA_HOME=/jdk

export JRE_HOME=/jdk/jre

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JRE_HOME/lib

Azkaban安装

本测试在linux(Centos7.2)版本 使用azkaban-3.38进行安装测试

.编译,安装过程

1.  git clone https://github.com/azkaban/azkaban.git

源码,当前为3.38版本(注:需要安装git服务  yum –y install git)

  1. 进入azkaban 项目进行编译 ./gradlew distTar(注:使用gradle进行安装,若没有gradle会自行安装)

编译结果为

azkaban-common : 常用工具类。

azkaban-db : 对应的sql脚本

azkaban-hadoop-secutity-plugin : hadoop 有关kerberos插件

azkaban-solo-server: web和executor 一起的项目。

azkaban-web/executor-server:azkaban的 web和executor的server信息

azkaban-spi: azkaban存储接口以及exception类

创建azkaban-3.38

Mkdir azkaban-3.38

分别将

ls

cd azkaban-web-server/build/distributions/

ls

cp azkaban-web-server-3.38.0-2-gbd9e6e4.tar.gz /azkaban-3.38/

cd ../../../

ls

cd azkaban-exec-server/build/distributions/

ls

cp azkaban-exec-server-3.38.0-2-gbd9e6e4.tar.gz /azkaban-3.38/

cd ../../../

ls

cd azkaban-db/build/distributions/

ls

cp azkaban-db-3.38.0-2-gbd9e6e4.tar.gz /azkaban-3.38/

解压缩后并重新命名

tar -xvzf azkaban-db-3.38.0-2-gbd9e6e4.tar.gz

tar -xvzf azkaban-exec-server-3.38.0-2-gbd9e6e4.tar.gz

tar -xvzf azkaban-web-server-3.38.0-2-gbd9e6e4.tar.gz

删除tar压缩包

rm -fr *.tar.*

重新命名

mv azkaban-db-3.38.0-2-gbd9e6e4 azkaban-db-3.38.0-2

mv azkaban-exec-server-3.38.0-2-gbd9e6e4 azkaban-exec-server-3.38.0-2

mv azkaban-web-server-3.38.0-2-gbd9e6e4 azkaban-web-server-3.38.0-2

将 azkaban下的

cd azkaban-solo-server/build/distributions/

解压

tar -xvzf azkaban-solo-server-3.38.0-2-gbd9e6e4.tar.gz

然后复制 conf 及plugins 文件到azkaban-3.38下的exec及web下

cp -r  conf  /azkaban-3.38/azkaban-exec-server-3.38.0-2/

cp -r  conf  /azkaban-3.38/azkaban-web-server-3.38.0-2/

cp -r  plugins /azkaban-3.38/azkaban-web-server-3.38.0-2/

cp -r  plugins  /azkaban-3.38/azkaban-exec-server-3.38.0-2/

导入azkaban sql

打开mysql使用azkaban数据库

use azkaban

source  /azkaban-3.38/azkaban-db-3.38.0-2/create-all-sql-3.38.0-2-gbd9e6e4.sql
source  /azkaban-3.38/azkaban-db-3.38.0-2/create.active_executing_flows.sql
source  /azkaban-3.38/azkaban-db-3.38.0-2/create.execution_flows.sql

配置keystore

在azkaban-web=*/conf下

keytool -keystore keystore -alias jetty -genkey -keyalg RSA
输入密钥库口令:  
密钥库口令太短 - 至少必须为 6 个字符
输入密钥库口令:  
再次输入新口令: 
您的名字与姓氏是什么?
[Unknown]:  
您的组织单位名称是什么?
[Unknown]:  
您的组织名称是什么?
[Unknown]:  
您所在的城市或区域名称是什么?
[Unknown]:  
您所在的省/市/自治区名称是什么?
[Unknown]:  
该单位的双字母国家/地区代码是什么?
[Unknown]: CN
CN=, OU=, O=, L=, ST=, C=CN是否正确?[否]:  Y

.配置 conf/azkaban.properties

修改是数据库配置

database.type=mysql

mysql.port=3306

mysql.host=192.168.3.247

mysql.database=azkaban

mysql.user=azkaban

mysql.password=azkaban

mysql.numconnections=100

添加mysql驱动

在/azkaban-3.38/azkaban-exec-server-3.38.0-2下新建文件夹

mkdir extlib

将lib下的mysql链接驱动复制到extlib下

同时需要修改ban-3.38/azkaban-web-server-3.38.0-2

下的azkaban.properties和建立extlib文件将mysql驱动拷入

添加log4j.properties文件

在/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-dd
HH:mm:ss} %-5p %c{1}:%L - %m%n

拷入同样执行器exec文件下的/conf也需要新建

启动

注意先启动执行器然后启动web服务器,需要在bin级目录执行,否则汇报找不到配置文件的错误

cd azkaban-exec-server-3.38.0-2

bin/azkaban-executor-start.sh

cd
azkaban-web-server-3.38.0-2

bin/azkaban-web-start.sh

~

~

附录

问题一:

若报错ntive.lib找不到修改文件

vi /azkaban/azkaban-common/src/main/java/azkaban/jobExecutor/ProcessJob.java

将true改为false,重新启动集群

问题二:

若mysql数据库链接不上请检查mysql数据库下azkaban数据库是否可以访问,

若无法远程访问请使用root用户登录到mysql数据库

mysql> CREATE USER 'azkaban'@'%'
IDENTIFIED BY 'azkaban';

mysql> GRANT ALL ON azkaban.* to
'azkaban'@'%' IDENTIFIED BY 'azkaban';

Azkaban使用安装文档的更多相关文章

  1. ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档

    ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档 2015-10-21 12:51 525人阅读 评论(0) 收藏 举报  分类: Oracle RA ...

  2. Oracle 11g 单实例安装文档

    这里介绍在Red Hat Enterprise Linux Server release 5.7 (Tikanga)下安装ORACLE 11.2.0.1.0的过程,本文仅仅是为了写这样安装指导文档而整 ...

  3. linkedin开源的kafka-monitor安装文档

    linkedin开源的kafka-monitor安装文档 linkedin 开源的kafka-monitor的安装使用可以参考官方的readme:流程介绍的已经比较清楚,但是还是有一些地方需要修正.让 ...

  4. _00024 尼娜抹微笑伊拉克_云计算ClouderaManager以及CHD5.1.0群集部署安装文档V1.0

    笔者博文:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...

  5. oracle database 12c R1 安装文档

    INSTALLORACLE DATABASE 12C 完整的安装文档下载地址: http://download.csdn.net/detail/royjj/5665869 OS:ORALCE LINU ...

  6. HAProxy安装文档

    HAProxy安装文档 [toc][TOC] 一.环境说明 系统环境:CentOS Linux release 7.2.1511 (Core) 系统内核:3.10.0-327.el7.x86_64 软 ...

  7. Oracle 12c RAC 静默安装文档

    参考文档: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cwlin/index.html https://docs. ...

  8. Oracle 12c RAC 安装文档

    参考文档: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cwlin/index.html https://docs. ...

  9. Linux rhel7 下MySQL5.7.18详细安装文档

    Linux rhel7 下MySQL5.7.18详细安装文档 本文安装MySQL5.7使用的是vm虚拟机rhel7操作系统 ,ftp文件传输是FileZilla3.27,远程连接xssh5.0 1 登 ...

随机推荐

  1. Chapter4 复杂度分析(下):浅析最好,最坏,平均,均摊时间复杂度

    四个复杂度分析: 1:最好情况时间复杂度(best case time complexity) 2:最坏情况时间复杂度(worst case time complexity) 3:平均情况时间复杂度( ...

  2. HTML span标签:用来组合文档中的行内元素

    在DIV+CSS切图布局重构技术中,除了常常使用div标签外也常常使用span标签布局,通常也可以通过对span标签对象设置不同样式实现我们要的美化效果.这里主机吧主要讲的是span标签的定义和用法. ...

  3. spring boot 之 错误:SpelEvaluationException: EL1008E: Property or field 'timestamp' cannot be found on object of type 'java.util.HashMap'

    这个错误我也见过很多次了,今天终于理解了其出现的原因. 错误是这样的: 2017-11-23 18:05:39.504 ERROR 4092 --- [nio-8080-exec-3] o.a.c.c ...

  4. 编写Servlet 实例 -Shopping网站时,遇到的几个问题

    问题一.在Web 上运行时,用JDBC链接MySQL总是出错,一直出现驱动加载失败 ------提示java.lang.ClassNotFoundException.解决方案:将数据库驱动jar文件导 ...

  5. HTTP协议规定,客户端的编写

    HTTP协议是网络应用层协议,建立在TCP/IP协议基础上.HTTP协议基于客户/服务器模式,客户端主动发出HTTP请求,服务器接收HTTP请求,返回HTTP响应结果.HTTP协议对HTTP请求,以及 ...

  6. 3Linux常用命令

    文件目录管理命令 1.touch touch 文件名   #创建空白文件 -a  修改读取(访问)时间atime -m  修改修改时间mtime -d  同时修改atime 和 mtime touch ...

  7. 一次sendmsg的改造过程

    比较蛋疼的一个改造过程,简单记录一下. 场景:用户态使用sendmsg发包,tcp报文,由于内核实现过程中存在一次kernel_read,也就是存在将pagecache中的内容拷贝一次的问题. 为了减 ...

  8. lastIndexOf() 找出指定元素出现的所有位置(返回的是下标数组)---lastIndexOf() 这个方法是倒叙查找,正序的是indexOf()

    var indices = []; var array = ['a', 'b', 'a', 'c', 'a', 'd']; var element = 'a'; var idx = array.las ...

  9. <Dare To Dream 团队>第一次作业:团队亮相

    队名:Dare To Dream 2.团队成员组成:学号/姓名(标记团队组长): 201571030333/绽玉林(组长) 201571030132/姚慧霞 201571030308/李金平    2 ...

  10. spring和springmvc配置分离

    在配置springmvc的时候,我们可以把所有配置配置到springmvc的xml文件中, 也可以分多个 Spring 的配置文件, 然后使用 import 节点导入其他的配置文件. 但是,通常情况下 ...