余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

Cron Action

在这里插入图片描述

Cron Action是定时方法。Oozie的Cron Action有自己的EL表达式。
在这里插入图片描述

job.properties是Oozie运行的本地文件。
workflow是工作流的定义文件。
coordinator是Oozie自带的定时配置文件。

coordinator

在这里插入图片描述

配置name,定时的frequency每十分钟执行一次,起点和结束时间,时区是UTC。

workflow

在这里插入图片描述

开始时间是2019-01-01T00:00Z,结束时间是2020-01-01T01:00Z。定义的信息传递给coordinator。

操作

上传程序到hdfs上

1、在app-11上,以hadoop用户登录。
命令:su – hadoop
在这里插入图片描述

2、进入tmp根目录。
命令:cd /tmp/
在这里插入图片描述

3、创建下载oozie案例的目录。
命令:mkdir oozie-example
在这里插入图片描述

4、下载案例程序。
命令:cp -R Spark-stack/Oozie/case/* oozie-example/
注:这里拷贝的不只cron,是将所有的案例都拷贝了过来。
在这里插入图片描述

5、进入Oozie的安装目录。
命令:cd /hadoop/Oozie/oozie-5.0.0/
在这里插入图片描述

6、在hdfs上创建上传程序的目录。
命令:hdfs dfs -mkdir -p /user/hadoop/cron-schedule-example/apps/cron-schedule
在这里插入图片描述

7、上传程序到hdfs。
命令:hdfs dfs -put /tmp/oozie-example/cron-schedule-example/apps/cron-schedule/* /user/hadoop/cron-schedule-example/apps/cron-schedule
在这里插入图片描述

8、查看是否上传成功。
命令:hdfs dfs -ls /user/hadoop/cron-schedule-example/apps/cron-schedule
在这里插入图片描述

执行提交

9、先登录Oozie的server。网址:app-11:11000
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10、任务提交。
命令:bin/oozie job -oozie http://app-11:11000/oozie -config /tmp/oozie-example/cron-schedule-example/apps/cron-schedule/job.properties -run
在这里插入图片描述

11、刷新Oozie的服务器。因为是定时的,每隔一段时会触发一个job。原始的job在Coordinator Jobs中。触发的job在Workflow Jobs中。任务是一直进行的,不会结束,需要人为结束。
在这里插入图片描述
在这里插入图片描述

12、结束任务。
命令:bin/oozie job -oozie http://app-11:11000/oozie -info 0000000-201105134017865-oozie-hado-C
在这里插入图片描述

13、删除任务。
命令:bin/oozie job -oozie http://app-11:11000/oozie -kill 0000000-201105134017865-oozie-hado-C
在这里插入图片描述

14、再刷新Oozie服务器。

在这里插入图片描述

ShellAction

demo

在这里插入图片描述

这是输出结果。当前的PATH路径和echo my_output=Hello Oozie。

操作

1、在app-11上以hadoop用户登录。
命令:su – hadoop
在这里插入图片描述

2、在hdfs上创建上传程序的目录。
命令:hdfs dfs -mkdir -p /user/hadoop/shell-example/apps/shell
在这里插入图片描述

3、上传程序到hdfs上。
命令:hdfs dfs -put /tmp/oozie-example/shell-example/apps/shell/* /user/hadoop/shell-example/apps/shell
在这里插入图片描述

4、查看是否上传成功。
命令:hdfs dfs -ls /user/hadoop/shell-example/apps/shell
在这里插入图片描述

5、进入Oozie的安装目录下。
命令:cd /hadoop/Oozie/oozie-5.0.0/
在这里插入图片描述

6、提交任务。
命令:bin/oozie job -oozie http://app-11:11000/oozie -config /tmp/oozie-example/shell-example/apps/shell/job.properties -run
在这里插入图片描述

7、登录Oozie的服务器。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8、执行完成之后打开Workflow中的All Jobs
在这里插入图片描述

9、打开第一个任务。
在这里插入图片描述

10、点击Job DAG。
在这里插入图片描述

这是整个的流程图,其中绿色的部分是这个任务在执行的流程。
11、登录app-12:8088。这是shell的执行任务。
在这里插入图片描述

12、点击任务。
在这里插入图片描述

13、找到logs点选择。
在这里插入图片描述

14、点击stdout。
在这里插入图片描述

15、再点here。这是执行任务的过程,和打印的classpath。最后是输出的结果。
在这里插入图片描述
在这里插入图片描述

MapReduce-例子

job.properties

在这里插入图片描述

做MapReduce需要输出MapReduce,所以结果输出Dir。

workflow.xml

在这里插入图片描述

MapReduce的流程。

操作

1、以hadoop用户登录。
命令:su – hadoop
在这里插入图片描述

2、拷贝相关的job定义。
命令:hdfs dfs -copyFromLocal /tmp/oozie-example/mapreduce-example/ /user/hadoop/
在这里插入图片描述

3、查看是否拷贝成功。
命令:hdfs dfs -ls /user/hadoop
在这里插入图片描述

4、创建存放输出结果的目录。
命令:hdfs dfs -mkdir /user/hadoop/mapreduce-example/input-data
在这里插入图片描述

5、进入Oozie的安装目录下。
命令:cd /hadoop/Oozie/oozie-5.0.0/
在这里插入图片描述

6、提交集群执行MapReduce。
命令: bin/oozie job -oozie http://app-11:11000/oozie -config /tmp/oozie-example/mapreduce-example/apps/map-reduce/job\(1\).properties -run
在这里插入图片描述

7、登录Oozie的服务器。网址:app-11:11000。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8、查看执行结果的位置。
命令:hdfs dfs -ls /user/hadoop/mapreduce-example/output-data/map-reduce
在这里插入图片描述

9、查看执行结果。
命令:hdfs dfs -cat /user/hadoop/mapreduce-example/output-data/map-reduce/part-00000
在这里插入图片描述打印的程序语句的行号。

Hive-例子

job.properties

在这里插入图片描述

通过jdbcURL访问hive2中的test库,提供了便捷的方式。

操作

1、在app-12上,以hadoop用户登录。
命令:su – hadoop
在这里插入图片描述

2、确保10000端口启动。
命令:netstat -tnl
在这里插入图片描述

3、在app-11上,以hadoop用户登录。
命令:su – hadoop
在这里插入图片描述

4、进入Oozie安装的目录。
命令:cd /hadoop/Oozie/oozie-5.0.0/
在这里插入图片描述

5、上传相关的文件。
命令:hdfs dfs -copyFromLocal /tmp/oozie-example/hive2-example /user/hadoop/
在这里插入图片描述

6、检查是否上传成功。
命令:hdfs dfs -ls /user/hadoop/
在这里插入图片描述

7、提交程序。
命令:bin/oozie job -oozie http://app-11:11000/oozie -config /tmp/oozie-example/hive2-example/apps/hive2/job.properties -run
在这里插入图片描述

8、登录hadoop集群。
在这里插入图片描述

9、查看打印结果。结果在Launcher中。结果有12行。
在这里插入图片描述

Spark-例子

job.properties

在这里插入图片描述

在做sharelib时,我们将spark的目录删除了,所以也可以不指代。这里指代是为了应对多个版本时可以更明确lib的版本,这样就可以在一个版本的集群上执行多个版本的程序。

操作

1、以hadoop用户登录。
命令:su - hadoop
在这里插入图片描述

2、进入Oozie的安装目录下。
命令:cd /hadoop/Oozie/oozie-5.0.0/
在这里插入图片描述

3、拷贝相应的文件到HDFS上。
命令:hdfs dfs -copyFromLocal /tmp/oozie-example/spark-example/ /user/hadoop/
在这里插入图片描述

4、查看是否拷贝成功。
命令:hdfs dfs -ls /user/hadoop/
在这里插入图片描述

5、执行。
命令:bin/oozie job -oozie http://app-11:11000/oozie -config /tmp/oozie-example/spark-example/apps/spark/job.properties -run
在这里插入图片描述

6、登录Oozie服务器。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7、登录app-12:8088。
在这里插入图片描述

因为hadoop是执行方,所以执行的是最快的。而Oozieserver需要有一个回调,hadoop通过回调将状态信息反馈给Oozieserver,所以Oozie稍微缓慢点。

8、查看SparkPi的执行结果。执行结果就是:Pi is roughly 3.1423357116785584.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

pyspark-例子

pi.py

在这里插入图片描述

这是spark做π计算的程序,使用蒙的卡罗计算方式计算的π。

job.properties

在这里插入图片描述

定义Python执行命令的位置,在集群上所有的机器上安装anaconda。

操作

1、以hadoop用户登录。
命令:su - hadoop
在这里插入图片描述

2、进入Oozie的安装目录下。
命令:cd /hadoop/Oozie/oozie-5.0.0/
在这里插入图片描述

3、将相应的文件拷贝到hdfs上。
命令:hdfs dfs -copyFromLocal /tmp/oozie-example/spark-example-pi/ /user/hadoop/
在这里插入图片描述

4、查看是否拷贝成功。
命令:hdfs dfs -ls /user/hadoop/
在这里插入图片描述

5、提交程序。
命令:bin/oozie job -oozie http://app-11:11000/oozie -config /tmp/oozie-example/spark-example-pi/apps/pyspark/job.properties -run
在这里插入图片描述

6、登录hadoop集群。
在这里插入图片描述

7、查看Spark-Pi的结果。
在这里插入图片描述

详细学习内容可观看Spark快速大数据处理扫一扫~~~或者引擎搜索Spark余海峰
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45810046/article/details/109773092