1、下载安装包:azkaban-3.43.0.tar.gz
2、解压:tar -zxvf azkaban-3.43.0.tar.gz
3、cd 到 azkaban-3.43.0 目录
4、执行 ./gradlew build installDist -x test 执行开始时中断他因为有许多关联包我们提前下载下拿到链接。
https://services.gradle.org/distributions/gradle-4.1-all.zip(就是这个链接)
5、把 gradle-4.1-all.zip 拷贝到 /home/hadoop/source/azkaban-3.43.0/gradle/wrapper 这个目录
6、然后编辑gradle-wrapper.properties这个文件 把里面的这个参数distributionUrl=路径改成我们的 gradle-4.1-all.zip包路径
7、然后再 切换到 /home/hadoop/source/azkaban-3.43.0/ 目录下执行 ./gradlew build installDist -x test
8、编译完后去对应目录下找到相应的安装包即可
8.1、azkaban-solo-server 模式
/home/hadoop/source/azkaban-3.40.0/azkaban-solo-server/build/distributions
8.2、azkaban-web-server 模式
/home/hadoop/source/azkaban-3.40.0/azkaban-web-server/build/distributions
8.3、azkaban-exec-server
/home/hadoop/source/azkaban-3.40.0/azkaban-exec-server/build/distributions
9、我们以azkaban-solo-server 为例:
到/home/hadoop/source/azkaban-3.40.0/azkaban-solo-server/build/distributions/azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz 解压到 ~/app目录
10、去~/app/azkaban-solo-server-0.1.0-SNAPSHOT/bin
一定要加bin目录这事bug bin/azkaban-solo-start.sh 启动
11、jps 验证存在 AzkabanSingleServer 即可
12、ip:8081 即可打开页面
13、可以在/home/hadoop/app/azkaban-solo-server-0.1.0-SNAPSHOT/conf/azkaban.properties 配置一些基本参数
14、可以在/home/hadoop/app/azkaban-solo-server-0.1.0-SNAPSHOT/conf/azkaban-users.xml 配置用户 密码 组
15、举个小例子
1、本地新建个foo.job文件
2、内容写
type=command
command=echo “Hello World”
3、打包成zip
4、打开ip:8081 即可打开页面 输入用户名密码
5、进入后projects ---- create project ----- 输入项目名称和描述—点击新建的项目进去—选择upload上传刚刚打的包—execute flow 执行。
提示:首次使用遇到这个错误:
Job failed, Cannot request memory (Xms 0 kb, Xmx 0 kb) from system for job
解决方法:
配置这个文件azkaban-web-server-2.7.0/plugins/jobtypes/commonprivate.properties添加memCheck.enabled=false参数
依赖作业在Azkaban中的使用
第一步:
dependencies 配置文件之间依赖
文件1:foo.job
type=command
command=echo foo
文件2: bar.job 依赖文件1
type=command
dependencies=foo (依赖文件1)
command=echo bar
zip dependencies.zip foo.job bar.job
第二步:
打开 192.168.1.101:8081
新建项目:dependencies
上传文件:
执行:
在HDFS作业在Azkaban中的使用
第一步:新建 hadf.job 文件
第二步:填写内容
type=command
command=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/bin/hadoop fs -ls /
第三步:打包
zip hdfs.zip hadf.job
第四步:
打开 192.168.1.101:8081
新建项目:hdfs
上传文件:
执行:
在MapReduce作业在Azkaban中的使用
案例一:
第一步:新建 mapreduce_pi.job 文件
第二步:填写内容
type=command
command=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/bin/hadoop jar /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar pi 2 3
第三步:打包
zip mapreduce_pi.zip mapreduce_pi.job
第四步:
打开 192.168.1.101:8081
新建项目:mapreduce_pi
上传文件:
执行:
案例二:
第一步:新建 mapreduce_wordcount.job 文件
第二步:填写内容
type=command
command=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/bin/hadoop jar /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar wordcount /wc/hello.txt /az/wc1
第三步:打包
zip mapreduce_wordcount.zip mapreduce_wordcount.job
第四步:
打开 192.168.1.101:8081
新建项目:mapreduce_wordcount
上传文件:
执行:
在Hive作业在Azkaban中的使用
1、创建hive表
create table emp(
empno int,
ename string,
job string,
mgr int,
hiredate string,
sal double,
comm double,
deptno int
)row format delimited fields terminated by ‘\t’;
创建时遇到错误:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:For direct MetaStore DB connections, we don’t support retries at the client level.)
解决:
可以通过在mysql中将数据库的字符集改为latin1,执行以下命令: alter database hive character set latin1;
本地加载数据到emp
load data local inpath ‘/home/hadoop/data/emp.txt’ overwrite into table emp;
统计数据
select deptno, count(1) from emp group by deptno;
创建文件1 hive.job:
type=command
command=/home/hadoop/app/apache-hive-1.2.2-bin/bin/hive -f ‘test.sql’
创建文件2 test.sql:
select deptno,count(1) from emp group by deptno;
第三步:打包
zip hive.zip hive.job test.sql
第四步:
打开 192.168.1.101:8081
新建项目:mapreduce_wordcount
上传文件:
执行:
Azkaban定时任务执行
1、选中一个项目点击进去
2、选中 Execute flow 点击进入
3、选择Schedule 点击进入
4、配置时间