azkaban插件安装
编译插件(这里已经编译好了,可以直接下载)
链接: 插件下载地址. 密码: 0405
将下载好的插件解压到你的azkaban目录下的plugins/jobtypes
解压:
[hadoop@hadoop jobtypes]$ tar -zxvf azkaban-jobtype-3.0.0.tar.gz -C app/azkaban-solo-server-0.1.0-SNAPSHOT/plugins/jobtypes/
进入解压好的目录进行检查:
[hadoop@hadoop jobtypes]$ cd app/azkaban-solo-server-0.1.0-SNAPSHOT/plugins/jobtypes/
[hadoop@hadoop jobtypes]$ ll
总用量 4
drwxrwxr-x. 11 hadoop hadoop 4096 8月 26 12:41 azkaban-jobtype-3.0.0
进入到jobtypes里面并把里面的所有的文件移到上一层目录中
[hadoop@hadoop jobtypes]$ cd azkaban-jobtype-3.0.0/
[hadoop@hadoop azkaban-jobtype-3.0.0]$ mv * ../
回到jobtypes目录并修改文件commonprivate.properties 和common.properties
[hadoop@hadoop azkaban-jobtype-3.0.0]$ cd ..
[hadoop@hadoop jobtypes]$ vi commonprivate.properties
## hadoop security manager setting common to all hadoop jobs
#设置你的hadoop版本,如果是1.x的话不用动,2.x的话把下面的1改成2
#我就是2.x版本修改为2
hadoop.security.manager.class=azkaban.security.HadoopSecurityManager_H_2_0
## hadoop security related settings
#开启安全模式的设置
# proxy.keytab.location=
#设置你的代理用户
# proxy.user=
#修改azkaban的代理为false
azkaban.should.proxy=false
obtain.binary.token=false
obtain.namenode.token=false
obtain.jobtracker.token=false
# global classpath items for all jobs. e.g. hadoop-core jar, hadoop conf
#修改全局classpath
jobtype.global.classpath=/home/hadoop/app/hadoop/etc/hadoop,/home/hadoop/app/hadoop/share/hadoop/common/*,/home/hadoop/app/hadoop/share/hadoop/common/lib/*,/home/hadoop/app/hadoop/share/hadoop/hdfs/*,/home/hadoop/app/hadoop/share/hadoop/hdfs/lib/*,/home/hadoop/app/hadoop/share/hadoop/yarn/*,/home/hadoop/app/hadoop/share/hadoop/yarn/lib/*,/home/hadoop/app/hadoop/share/hadoop/mapreduce/*,/home/hadoop/app/hadoop/share/hadoop/mapreduce/lib/*
# global jvm args for all jobs. e.g. java.io.temp.dir, java.library.path
#jobtype.global.jvm.args=
# 修改你的hadoop/spark/hive/hadoopclasspath所在的位置
hadoop.home=/home/hadoop/app/hadoop
hive.home=/home/hadoop/app/hive
spark.home=/home/hadoop/app/spark
hadoop.classpath=/home/hadoop/app/hadoop/share/hadoop
# configs for jobtype security settings
#修改为false
execute.as.user=false
azkaban.native.lib=
修改 commmon.properties文件
[hadoop@hadoop jobtypes]$ vi common.properties
## everything that the user job can know
hadoop.home=/home/hadoop/app/hadoop
hive.home=/home/hadoop/app/hive
spark.home=/home/hadoop/app/spark
hadoop.classpath=/home/hadoop/app/hadoop/share/hadoop
#azkaban.should.proxy=
接下来进入hive目录中,修改hive插件的信息
[hadoop@hadoop jobtypes]$ cd hive/
[hadoop@hadoop hive]$ vi plugin.properties
#这里面有个坑,这个hive_home/aux/lib目录是不存在的,hive下面是/auxlib
# hive.aux.jars.path=${hive.home}/aux/lib
#修改为:
hive.aux.jars.path=file://${hive.home}/auxlib
hive.jvm.args=-Dhive.querylog.location=. -Dhive.exec.scratchdir=/tmp/hive-${user.to.proxy} -Dhive.aux.jars.path=${hive.aux.jars.path}
jobtype.jvm.args=${hive.jvm.args}
同目录下的private.properties也要修改
[hadoop@hadoop hive]$ vi private.properties
jobtype.classpath=${hadoop.home}/conf,${hadoop.home}/lib/*,${hive.home}/lib/*,${hive.home}/conf,${hive.aux.jar.path}
jobtype.class=azkaban.jobtype.HadoopHiveJob
# 这里
hive.aux.jar.path=file://${hive.home}/auxlib
## definitely set hive home otherwise we dont have conf
#jobtype.global.classpath=${hive.classpath.items}
#hive.classpath.items=${hive.home}/lib/*,${hive.home}/conf/,${hive.aux.jars.path}/*,${hadoop.home}/*,${hadoop.home}/lib/*,${hadoop.home}/conf/
修改完成后开始启动/测试
回到主目录中:
[hadoop@hadoop jobtypes]$ cd ../../
一定要在主目录中启动使用bin/start-solo.sh 关闭也是一样,不然会有坑,报db.properties错误
[hadoop@hadoop azkaban-solo-server-0.1.0-SNAPSHOT]$ bin/start-solo.sh
在你的windows 上准备测试文件
编写flow20.project:内容为
azkaban-flow-version: 2.0
编写测试hive的flow文件(这里有很大的坑)
编写yml文件时不能用tab键,不能有空行否则就会上传项目失败
nodes:
- name: type
type: hive
config:
hive.script: info.hql
编写hive的查询语句,后缀为hql
select * from default.user;
并把这三个文件打包压缩
启动完成后登录主页面,进行测试
创建项目
上传打包好的压缩文件
好了之后进行测试
执行完以后ok,因为我这张表没什么数据,所以就没展示