azkaban2.5 具体配置以及使用方式
azkaban支持shell、java、mapreduce以及hive的工作流调度,在对这些不同类型任务调度之前须要配置所相应的插件;azkaban总体分为两部分azkaban executor server(负责任务调度的处理)、azkaban web server(提供web ui可视化操作);
眼下採用的版本号插件均为2.5.0 完整包下载
1、编译
azkaban源代码地址:https://github.com/azkaban/azkaban/tree/release-2.5/src
azkaban插件源代码地址:https://github.com/azkaban/azkaban-plugins/tree/release-2.5
是用ant来进行编译、打包
2、安装和编译
- 从http://azkaban.github.io/downloads.html下载例如以下安装包
- azkaban-web-server-2.5.0.tar.gz
- azkaban-executor-server-2.5.0.tar.gz
- azkaban-sql-script-2.5.0.tar.gz
- azkaban-jobtype-2.5.0.tar.gz
- azkaban-hdfs-viewer-2.5.0.tar.gz
- azkaban-jobsummary-2.5.0.tar.gz
- azkaban-reportal-2.5.0.tar.gz
Azkaban Web Server的部署
1、在本地安装mysql数据库,用来存储azkaban任务id、probject等信息的元数据库
2、建表,解压azkaban-sql-script-2.5.0.tar.gz 在创建的数据库中运行create-all-sql-2.5.0.sql文件
3、解压azkaban-web-server-2.5.0.tar.gz。里面带有mysql-connector-java-5.1.28.jar,版本号不一致能够更换
4、在解压后的文件夹下中的conf文件里输入keytool -keystore keystore -alias azkaban -genkey -keyalg RSA ,
在运行该命令后会提示输入password(建议输入的password都一样,方便兴许配置),这个password是兴许配置jetty时使用的,最后将在当前文件夹生成 keystore 证书文件,将 keystore 考贝到 azkaban web 文件夹中。
5、在/conf/azkaban.properties配置:
azkaban的大部分web方面的配置均在这个文件里包含:
- 时区的配置:default.timezone.id=Asia/Shanghai
- web所依赖mysql的配置:
database.type=mysql
mysql.port=**
mysql.host=**
mysql.database=**
mysql.user=**
mysql.password=**
mysql.numconnections=**
- jetty的配置
jetty.maxThreads=**
jetty.ssl.port=**
jetty.port=**
jetty.keystore=keystore
jetty.password=创建keystore的密码
jetty.keypassword=azkaban
jetty.truststore=创建keystore的password
jetty.trustpassword=创建keystore的密码
- 邮件的配置
mail.sender=
mail.host=
mail.user=
mail.password=
job.failure.email=
job.success.email= - 其它配置可默认
6、azkaban-users.xml 配置用户的权限登录账号和password
7、服务的启动和关闭均在bin文件夹下命令:
bin/azkaban-web-shutdown.sh
bin/azkaban-web-start.sh
Azkaban Executor Server的部署
1、解压azkaban-executor-server-2.5.0.tar.gz到安装文件夹。在lib中自带了mysql-connector-java-5.1.28.jar,假设版本号不一致请自行替换。
2、改动配置文件 安装文件夹/conf/azkaban.properties
- 设置时区
default.timezone.id=Asia/Shanghai - 设置数据库,与Web Server中的数据库设置一致
3、启动/停止服务
和 web Service类似切到bin的上一文件夹
bin/azkaban-executor-shutdown.sh 停止
bin/azkaban-executor-start.sh 启动
4、插件的安装
- 进入 安装文件夹/plugins文件夹,在该文件夹下解压azkaban-jobtype- 2.5.0.tar.gz得到文件夹:azkaban-jobtype-2.5.0。
这个文件夹用来存放之后安装的全部插 件,与Web Server中的viewer文件夹类似。每次插件的安装配置须要重新启动Executor Server。
- 改动 安装文件夹/plugins/azkaban-jobtype-2.5.0/common.properties。设置hadoop.home和hive.home。与你的环境变量HADOOP_HOME和HIVE_HOME分布保持一致。
hadoop.home=/etc/hadoop
hive.home=/usr/lib/hive
executor.home=/opt/azkaban2/executor //executor所在文件夹
hadoop.lib=/usr/lib/hadoop //hadoop lib
azkaban.should.proxy=false
- 改动 同等文件夹下的commonprivate.properties:
1、相同须要设置hadoop.home和hive.home、executor.home、 hadoop.lib。
2、设置.classpathehive.classpath.items=${hive.home}/lib/*,${hive.home}/conf/,${hive.aux.jars.path}/*,${hadoop.lib}/*,${hadoop.lib}/lib/*,${hadoop.lib}/client/*,${hadoop.home}/conf/
hive.classpath.items=${hive.home}/lib/*,${hive.home}/conf/,${hive.aux.jars.path}/*
3、设置权限、代理
# proxy.keytab.location=/home/aa.keytab
# proxy.user=media-sns/111111@qq.COM
azkaban.should.proxy=false//假设为true的话须要进行kerkeros,即凝视打开,打开会后报hadoop的gettoken异常
obtain.binary.token=true
obtain.namenode.token=true
obtain.jobtracker.token=true
hive的安装
改动hive目录下的plugin.properties
hive.aux.jars.path=${hive.home}/lib
改动hive目录下的private.propertiesjobtype.classpath=${hive.home}/lib/*,${hive.home}/conf,${hive.aux.jars.path}
jobtype.class=azkaban.jobtype.HadoopHiveJob
hive.aux.jars.path=${hive.home}/aux/lib
上面的${hive.home} 均为/common.properties 文件里设置的hive.home
注意:使用官网的jar包会有问题,须要下载源代码更改又一次编译: version=1&modificationDate=1436499438543&api=v2">
azkaban-hadoopsecuritymanager-2.5.0.fix.jar
/plugins/jobtype/src/azkaban/jobtype/HadoopSecureHiveWrapper.java
删除:
if (!ShimLoader.getHadoopShims().usesJobShell()) { } 又一次打包编译
jar包清单:
1、/azkaban2/executor/lib
2、/azkaban2/executor/plugins/azkaban-jobtype-2.5.0/hive hive以及java hadoopjava等都一样
当中的azkaban-hadoopsecuritymanager-2.5.0.fix.jar 是编译完之后的包
3、 使用
azkaban的使用方式是依照job文件描写叙述来进行使用的,使用type来运行运行任务的类型,通过dependencies能够用来连接任务。即dependencies=A,仅仅有A任务运行完了才干够运行改任务
将描写叙述文件和脚本文件打成zip包上传到azkaban所相应的probject中
运行Shell文件:
job文件:
type=command
command=echo "mr"
command.1=sh mr.sh
文件文件夹:
运行Java文件
type=hadoopJava
job.class=azkaban.jobtype.examples.java.WordCount
classpath=./lib/*,${hadoop.home}/lib/*
main.args=${param.inData} ${param.outData}
Method.run=test();
force.output.overwrite=true
input.path=${param.inData}
output.path=${param.outData}
假设不指定方法名默认找run()方法去运行 假设没有会报错
假设没有输入输出參数等,能够省略
运行hive
type=hive
user.to.proxy=media-sns
azk.hive.action=execute.query
hive.script=hive.sh
在hive.sh中写hive的sql
use test;
select * from t_user limit 10;
文件夹结构:
version=1&modificationDate=1436499284232&api=v2" alt="">
运行mr
可通过shell运行mr任务的命令方式和shell一样
azkaban2.5 具体配置以及使用方式的更多相关文章
- SpringBoot三种配置Dubbo的方式
*必须首先导入dubbo-starter (1).使用SpringBoot配置文件(application.properties或application.yml) dubbo.application. ...
- Spring中三种配置Bean的方式
Spring中三种配置Bean的方式分别是: 基于XML的配置方式 基于注解的配置方式 基于Java类的配置方式 一.基于XML的配置 这个很简单,所以如何使用就略掉. 二.基于注解的配置 Sprin ...
- Django 02 url路由配置及渲染方式
Django 02 url路由配置及渲染方式 一.URL #URL #(Uniform Resoure Locator) 统一资源定位符:对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是 ...
- 虚拟机Linux与本地虚拟网卡配置---NAT链接方式
虚拟机Linux与本地虚拟网卡配置---NAT链接方式 **********这是我亲自尝试多次实践出来的结果,不是复制粘贴************************* 首先进行初始化,这样避免有 ...
- (一)Mybatis基本配置,Statement方式,动态代理增删改查
首先明白Mybatis是干什么的,之前使用jdbc操作数据库时候要写很多语句,获取光标,连接,获取具体对象进行相应操作,代码过于繁琐,所以现在有了Mybatis,它将这个操作整合在了一起,你不需要关心 ...
- flask框架--设置配置文件的几种方式 与Flask两种配置路由的方式
设置配置文件的几种方式 ==========方式一:============ app.config['SESSION_COOKIE_NAME'] = 'session_lvning' #这种方式要把所 ...
- Django 缓存配置的多种方式
django 的缓存配置有多种方式,主要包含以下几种: 1.开发调试模式 2.内存模式 3.使用文件 4.直接使用数据库 5.使用redis或者memcache 这里主要是记录一下那些不常用,但是在微 ...
- 配置adpate的方式
配置adpate的方式 资源文件配置 ArryAdapter<CharSequence>cadapt= ArryAdapter.createFromResource(this,资源id,a ...
- Loadrunner参数化数据配置与更新方式
之前遇到过一种情况,对脚本进行并发测试时,脚本没有报错,但是有丢失的事物,与开发配合检查确定不是代码的问题,然后检查脚本,更换参数化数据配置与更新方式,问题解决.现在对参数化数据配置和更新方式进行总结 ...
随机推荐
- oracle的隐式游标
游标的概念: 游标是SQL的一个内存工作区,由系统或用户以变量的形式定义.游标的作用就是用于临时存储从数据库中提取的数据块.在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理, ...
- Linux Mint---开启桌面三维特效
其实系统默认已经安装好了compiz,我们只需要切换就可以了 menu->control center->desktop setting->window 开启compiz的时候,由于 ...
- UVALIVE 3645 Objective: Berlin
最大流 .以航班为节点进行最大流. 容量限制进行拆点. 如果时间地点满足可以建一条边. 具体看代码.变量名被修改过了.一开始的变量名可能比较容易看懂 但CE了.可能与库里的变量重复了. AC代码 #i ...
- mysql 共享空间转为独立表空间
由于以前的mysql配置为共享表空间,服务器空间不足,清理日志表里的数据后,数据库并没缩小,照成空间浪费,现在修改为独立表空间 #独立表空间innodb_file_per_table=1 #停止事物日 ...
- validate插件实现表单效验(一)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- HDU 1074 Doing Homework(状压DP)
第一次写博客ORZ…… http://acm.split.hdu.edu.cn/showproblem.php?pid=1074 http://acm.hdu.edu.cn/showproblem.p ...
- (寒假集训) Cow Jog(二分优化的最长上升子数列)
Cow Jog 时间限制: 1 Sec 内存限制: 64 MB提交: 24 解决: 5[提交][状态][讨论版] 题目描述 Farmer John's N cows (1 <= N < ...
- HashMap和Hashtable 线程安全性
HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题.HashMap的工作原理.ArrayList与Vect ...
- ORA-17129=SQL 字符串不是DML 语句
ORA-17129=SQL 字符串不是DML 语句 oracle这个错误的意思是 select 不可以算DML 数据操纵语言(Data Manipulation Language, DML)是SQL语 ...
- db2字符串截取方法及常用函数
select substr(index_code, 1, locate('-', index_code)-1) from report_data substr(str,m,n)表示从str中的m个字符 ...