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:******
原文地址:https://www.cnblogs.com/jieqiong1755/p/15223172.html
- hadoop压缩与解压
- cordova插件- Media
- JDK8之新特性扩展篇
- Java管理Cookie增删改查操作。
- Intellij Idea乱码解决方案都在这里了
- 神奇,教你用随机数打印hello world
- Mapreduce任务实现邮件监控
- Eclipse中Maven打包程序并在Linux中运行
- SDN开发笔记(七):L2switch源码分析(上)
- spark使用zipWithIndex和zipWithUniqueId为rdd中每条数据添加索引数据
- Spring Boot Server容器配置
- Spring Boot读取配置的几种方式
- 如何用TensorFlow构建RNN?这里有一份极简的教程
- (1024程序员节快乐)阿里祭出大器,Java代码检查插件
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 从约瑟夫环看循环链表
- Android 自定义LineLayout实现满屏任意拖动功能的示例代码
- Android scheme 跳转的设计与实现详解
- Android获取与设置系统环境变量的方法指南
- Android 通过腾讯TBS实现文件预览功能
- 使用VideoView播放App中的资源文件
- android 限制某个操作每天只能操作指定的次数(示例代码详解)
- pymysql connect 连接mysql 报错keyerror255
- 使用android studio开发工具编译GBK转换三方库iconv的方法
- Android在类微信程序中实现蓝牙聊天功能的示例代码
- python中的yield和return—迭代器和生成器
- Android studio有关侧滑的实现代码
- 图片按照宽度等比例缩放
- Android 自定义加载动画Dialog弹窗效果的示例代码
- flutter的环境安装配置问题及解决方法