Azkaban实战篇
0、Windows配置系统变量gvim81
(1)变量:Path
(2)值:D:\gvim81\Vim\vim81
(3)本地cmd要以管理员身份运行
1、Dependency作业
(1)本地管理员cmd:foo.job
C:\azkaban>vim foo.job # foo.job type=command command=echo foo
压缩为foo.zip
zip -r foo.zip *
(2)本地管理员cmd:bar.job
C:\azkaban>vim bar.job # bar.job type=command dependencies=foo command=echo bar
将bar.job和foo.job压缩为dependencies.zip
zip -r dependencies.zip foo.job bar.job
(3)bar.job要等foo.job运行结束
(4)azkaban使用
在Azkaban Web Client中创建project:dependency
上传dependencies.zip
2、HDFS作业
(1)在HDFS上新建目录
[hadoop@hadoop000 ~]$ hadoop fs -ls / [hadoop@hadoop000 ~]$ hadoop fs -mkdir /azkaban1 [hadoop@hadoop000 ~]$ hadoop fs -mkdir /azkaban2
(2)搜索全路径
[hadoop@hadoop000 bin]$ /home/hadoop/app/hadoop-2.6.0-cdh5.15.1/bin/hadoop fs -ls / Found 16 items drwxr-xr-x - hadoop supergroup 0 2021-09-04 00:14 /azkaban1 drwxr-xr-x - hadoop supergroup 0 2021-09-04 00:14 /azkaban2
(3)本地管理员cmd:hdfs.job
C:\azkaban>vim hdfs.job type=command command=/home/hadoop/app/hadoop-2.6.0-cdh5.15.1/bin/hadoop fs -ls /
老规矩打包:hdfs.zip
zip -r hdfs.zip hdfs.job
(4)azkaban使用
在Azkaban Web Client中创建project:hdfs
上传hdfs.zip
(5)运行结果:将/home/hadoop/app/hadoop-2.6.0-cdh5.15.1/bin/hadoop中的所有文件详细信息输出
3、MapReduce作业
(1)进入以下路径,找到测试代码的jar包
[hadoop@hadoop000 mapreduce]$ pwd /home/hadoop/app/hadoop-2.6.0-cdh5.15.1/share/hadoop/mapreduce [hadoop@hadoop000 mapreduce]$ ls hadoop-mapreduce-examples-2.6.0-cdh5.15.1.jar
(2)结果输出到控制台
测试hadoop-mapreduce-examples-2.6.0-cdh5.15.1.jar运行结果
[hadoop@hadoop000 mapreduce]$ hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.15.1.jar pi 2 3
(3)mr_pi.job
C:\azkaban>vim mr_pi.job
type=command command=/home/hadoop/app/hadoop-2.6.0-cdh5.15.1/bin/hadoop jar /home/hadoop/app/hadoop-2.6.0-cdh5.15.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.15.1.jar pi 2 3
C:\azkaban>zip -r mr_pi.zip mr_pi.job
(4)azkaban使用
在Azkaban Web Client中创建project:mr_pi
上传mr_pi.zip
(5)运行结果:将/home/hadoop/app/hadoop-2.6.0-cdh5.15.1/bin/hadoop中的所有文件详细信息输出
(6)在这里可以使用hadoop-mapreduce-examples-2.6.0-cdh5.15.1.jar中的wordcount
注意text.txt在hadoop的根目录中
type=command command=/home/hadoop/app/hadoop-2.6.0-cdh5.15.1/bin/hadoop jar /home/hadoop/app/hadoop-2.6.0-cdh5.15.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.15.1.jar wordcount /text.txt /az/wc2
4、Hive作业
(1)创建table,并导入数据。已有测试数据集
[hadoop@hadoop000 app]$ cd hive-1.1.0-cdh5.15.1/ [hadoop@hadoop000 hive-1.1.0-cdh5.15.1]$ cd bin/ [hadoop@hadoop000 bin]$ hive hive> show databases; hive> use testzhang_db; hive> show tables; hive> select * from emp;
(2)统计部门人数
hive> select deptno, count(1) from emp group by deptno;
NULL 1 10 3 20 5 30 6
(3)封装sql脚本
hive.job
C:\azkaban>vim hive.job
type=command command=/home/hadoop/app/hive-1.1.0-cdh5.15.1/bin/hive -f 'test.sql'
test.sql
C:\azkaban>vim test.sql select deptno, count(1) from emp group by deptno;
(4)打包
将hive.job和test.sql打包为hive.zip
C:\azkaban>zip -r hive.zip hive.hob test.sql
(5)azkaban新建project等流程
5、定时作业
(1)以Dependency作业为例,进行定时调度
(2)flow view 就是配置的作业,目前是ready状态
(3)notification:作业失败,要么作业从头开始,或者指定重新开始的时间。这里可以配置邮件告警。
(4)failure options:设置失败的选项--》取消或者结束
(5)concurrent:一次可以并发多少
(6)flow parameters:设置参数
(7)schedule:******

浙公网安备 33010602011771号