首先创建一个command.job文件

 

#command.job
type=command
command=echo it18zhang

 

 

 

然后打成zip压缩包

17.Azkaban实战_hadoop

 

17.Azkaban实战_上传_02

 

17.Azkaban实战_上传_03

 

 17.Azkaban实战_hive_04

17.Azkaban实战_hadoop_05

上传刚刚打包的zip包

17.Azkaban实战_hadoop_06

17.Azkaban实战_hadoop_07

 

 17.Azkaban实战_上传_08

 

 17.Azkaban实战_hadoop_09

 

上传完后可以执行他

17.Azkaban实战_上传_10

可以定时执行

17.Azkaban实战_hadoop_11

17.Azkaban实战_上传_12

 

 

现在我们立马执行

17.Azkaban实战_hadoop_13

17.Azkaban实战_hive_14

 

 17.Azkaban实战_hadoop_15

 

 17.Azkaban实战_上传_16

 

 

现在我们要执行一个脚本

新建一个commad1.job文件

#command.job
type=command
command=bash hello.sh

 

再编写一个hello,sh脚本

#!/bin/bash
echo 'hello it18zhang~~~~'

 

 

把两个文件都选上一起打包

17.Azkaban实战_上传_17

17.Azkaban实战_hive_18

 

 17.Azkaban实战_hive_19

17.Azkaban实战_上传_20

 

 17.Azkaban实战_上传_21

 

 上传刚刚打的zip包

17.Azkaban实战_上传_22

17.Azkaban实战_hive_23

 

 17.Azkaban实战_上传_24

17.Azkaban实战_hive_25

 

 执行

17.Azkaban实战_hadoop_26

17.Azkaban实战_上传_27

 

 17.Azkaban实战_hive_28

17.Azkaban实战_hadoop_29

 

 17.Azkaban实战_hive_30

 

 

 

创建有依赖关系的多个job描述

 新建一个bar.job

# bar.job
type=command
dependencies=foo
command=echo bar

 

新建一个foo.job

# foo.job
type=command
command=echo foo

 

把这两个文件一起打成zip包

17.Azkaban实战_hive_31

17.Azkaban实战_hive_32

 

 

 17.Azkaban实战_hadoop_33

 

 17.Azkaban实战_上传_34

 

 17.Azkaban实战_hadoop_35

17.Azkaban实战_hive_36

 

 17.Azkaban实战_上传_37

 

 17.Azkaban实战_hive_38

 

 17.Azkaban实战_hadoop_39

 

17.Azkaban实战_上传_40

17.Azkaban实战_hive_41

 

 

 17.Azkaban实战_上传_42

17.Azkaban实战_hadoop_43

 

17.Azkaban实战_hadoop_44

 

HDFS操作任务

 新建文件fs.job

# fs.job
type=command
command=/opt/modules/hadoop-2.6.0/bin/hadoop fs -mkdir /azaz

 

 打包成zip包

17.Azkaban实战_hive_45

 

 17.Azkaban实战_hadoop_46

 

 17.Azkaban实战_hadoop_47

 

 17.Azkaban实战_hadoop_48

17.Azkaban实战_hive_49

 

 

 17.Azkaban实战_hive_50

 

 17.Azkaban实战_hadoop_51

17.Azkaban实战_hive_52

 

17.Azkaban实战_上传_53

 

 17.Azkaban实战_hadoop_54

 

 17.Azkaban实战_上传_55

 

 17.Azkaban实战_hadoop_56

17.Azkaban实战_上传_57

 

 

   MAPREDUCE任务

先创建一个输入路径

17.Azkaban实战_hadoop_58

 

 17.Azkaban实战_hadoop_59

创建一个数据文件b.txt

 17.Azkaban实战_hadoop_60

输入一些单词

17.Azkaban实战_hive_61

 

 把b.txt文件上传到hdfs上

17.Azkaban实战_hive_62

17.Azkaban实战_hive_63

 

 创建mrwc.job文件

# mrwc.job
type=command
command=/opt/modules/hadoop-2.6.0/bin/hadoop jar hadoop-mapreduce-examples-2.6.0.jar wordcount /wordcount/input /wordcount/azout

 

 

把这两个文件一起打包

17.Azkaban实战_hive_64

 

在azkaban创建一个project

 17.Azkaban实战_hadoop_65

17.Azkaban实战_hive_66

 

17.Azkaban实战_hadoop_67

 17.Azkaban实战_上传_68

 

17.Azkaban实战_hadoop_69

 

 17.Azkaban实战_上传_70

 

 17.Azkaban实战_上传_71

 17.Azkaban实战_上传_72

 17.Azkaban实战_hive_73

 

17.Azkaban实战_hadoop_74

 

 

可以看到执行成功了

17.Azkaban实战_hadoop_75

 

 17.Azkaban实战_上传_76

 

HIVE脚本任务

先创建目录

 

hadoop fs -mkdir -p /aztest/hiveinput

 

 

 

 

新建一个c.txt数据文件

17.Azkaban实战_上传_77

17.Azkaban实战_hive_78

 

 把c.txt文件上传到HDFS上

 17.Azkaban实战_hive_79

17.Azkaban实战_hive_80

 

 

 

 新建hivef.job

# hivef.job
type=command
command=/opt/modules/hive/bin/hive -f 'test.sql'

 

 

新建test.sql

use default;
drop table aztest;
create table aztest(id int,name string) row format delimited fields terminated by ',' ;
load data inpath '/aztest/hiveinput' into table aztest;
create table azres as select * from aztest;
insert overwrite directory '/aztest/hiveoutput' select count(1) from aztest;

 

 

打包成hivef.zip

17.Azkaban实战_hive_81

 

17.Azkaban实战_上传_82

 

 

 17.Azkaban实战_hadoop_83

 

 17.Azkaban实战_hadoop_84

 

 17.Azkaban实战_上传_85

 

17.Azkaban实战_上传_86

 

 17.Azkaban实战_hive_87

 

 

 17.Azkaban实战_hadoop_88

17.Azkaban实战_hadoop_89

 

 17.Azkaban实战_上传_90

 

 

可以看到失败了,查看原因

17.Azkaban实战_hadoop_91

 

 把本地hive的Lib目录下的mysql连接包的版本更换一下

17.Azkaban实战_上传_92

 

 换成这个5.1.28版本

17.Azkaban实战_上传_93

 

 再运行一次,同样失败了,但是hive和hdfs上出来了相应的结果,具有原因我也不懂

17.Azkaban实战_上传_94

17.Azkaban实战_上传_95