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

Cron Action

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

Cron Action是定时方法。Oozie的Cron Action有自己的EL表达式。
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

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

coordinator

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

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

workflow

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

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

操作

上传程序到hdfs上

1、在app-11上,以hadoop用户登录。
命令:su – hadoop
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

2、进入tmp根目录。
命令:cd /tmp/
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

3、创建下载oozie案例的目录。
命令:mkdir oozie-example
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

4、下载案例程序。
命令:cp -R Spark-stack/Oozie/case/* oozie-example/
注:这里拷贝的不只cron,是将所有的案例都拷贝了过来。
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

5、进入Oozie的安装目录。
命令:cd /hadoop/Oozie/oozie-5.0.0/
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

6、在hdfs上创建上传程序的目录。
命令:hdfs dfs -mkdir -p /user/hadoop/cron-schedule-example/apps/cron-schedule
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

7、上传程序到hdfs。
命令:hdfs dfs -put /tmp/oozie-example/cron-schedule-example/apps/cron-schedule/* /user/hadoop/cron-schedule-example/apps/cron-schedule
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

8、查看是否上传成功。
命令:hdfs dfs -ls /user/hadoop/cron-schedule-example/apps/cron-schedule
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

执行提交

9、先登录Oozie的server。网址:app-11:11000
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

10、任务提交。
命令:bin/oozie job -oozie http://app-11:11000/oozie -config /tmp/oozie-example/cron-schedule-example/apps/cron-schedule/job.properties -run
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

11、刷新Oozie的服务器。因为是定时的,每隔一段时会触发一个job。原始的job在Coordinator Jobs中。触发的job在Workflow Jobs中。任务是一直进行的,不会结束,需要人为结束。
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

12、结束任务。
命令:bin/oozie job -oozie http://app-11:11000/oozie -info 0000000-201105134017865-oozie-hado-C
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

13、删除任务。
命令:bin/oozie job -oozie http://app-11:11000/oozie -kill 0000000-201105134017865-oozie-hado-C
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

14、再刷新Oozie服务器。

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

ShellAction

demo

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

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

操作

1、在app-11上以hadoop用户登录。
命令:su – hadoop
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

2、在hdfs上创建上传程序的目录。
命令:hdfs dfs -mkdir -p /user/hadoop/shell-example/apps/shell
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

3、上传程序到hdfs上。
命令:hdfs dfs -put /tmp/oozie-example/shell-example/apps/shell/* /user/hadoop/shell-example/apps/shell
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

4、查看是否上传成功。
命令:hdfs dfs -ls /user/hadoop/shell-example/apps/shell
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

5、进入Oozie的安装目录下。
命令:cd /hadoop/Oozie/oozie-5.0.0/
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

6、提交任务。
命令:bin/oozie job -oozie http://app-11:11000/oozie -config /tmp/oozie-example/shell-example/apps/shell/job.properties -run
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

7、登录Oozie的服务器。
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

8、执行完成之后打开Workflow中的All Jobs
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

9、打开第一个任务。
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

10、点击Job DAG。
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

这是整个的流程图,其中绿色的部分是这个任务在执行的流程。
11、登录app-12:8088。这是shell的执行任务。
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

12、点击任务。
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

13、找到logs点选择。
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

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

15、再点here。这是执行任务的过程,和打印的classpath。最后是输出的结果。
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

MapReduce-例子

job.properties

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

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

workflow.xml

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

MapReduce的流程。

操作

1、以hadoop用户登录。
命令:su – hadoop
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

2、拷贝相关的job定义。
命令:hdfs dfs -copyFromLocal /tmp/oozie-example/mapreduce-example/ /user/hadoop/
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

3、查看是否拷贝成功。
命令:hdfs dfs -ls /user/hadoop
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

4、创建存放输出结果的目录。
命令:hdfs dfs -mkdir /user/hadoop/mapreduce-example/input-data
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

5、进入Oozie的安装目录下。
命令:cd /hadoop/Oozie/oozie-5.0.0/
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

6、提交集群执行MapReduce。
命令: bin/oozie job -oozie http://app-11:11000/oozie -config /tmp/oozie-example/mapreduce-example/apps/map-reduce/job\(1\).properties -run
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

7、登录Oozie的服务器。网址:app-11:11000。
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

8、查看执行结果的位置。
命令:hdfs dfs -ls /user/hadoop/mapreduce-example/output-data/map-reduce
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

9、查看执行结果。
命令:hdfs dfs -cat /user/hadoop/mapreduce-example/output-data/map-reduce/part-00000
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例打印的程序语句的行号。

Hive-例子

job.properties

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

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

操作

1、在app-12上,以hadoop用户登录。
命令:su – hadoop
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

2、确保10000端口启动。
命令:netstat -tnl
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

3、在app-11上,以hadoop用户登录。
命令:su – hadoop
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

4、进入Oozie安装的目录。
命令:cd /hadoop/Oozie/oozie-5.0.0/
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

5、上传相关的文件。
命令:hdfs dfs -copyFromLocal /tmp/oozie-example/hive2-example /user/hadoop/
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

6、检查是否上传成功。
命令:hdfs dfs -ls /user/hadoop/
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

7、提交程序。
命令:bin/oozie job -oozie http://app-11:11000/oozie -config /tmp/oozie-example/hive2-example/apps/hive2/job.properties -run
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

8、登录hadoop集群。
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

9、查看打印结果。结果在Launcher中。结果有12行。
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

Spark-例子

job.properties

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

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

操作

1、以hadoop用户登录。
命令:su - hadoop
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

2、进入Oozie的安装目录下。
命令:cd /hadoop/Oozie/oozie-5.0.0/
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

3、拷贝相应的文件到HDFS上。
命令:hdfs dfs -copyFromLocal /tmp/oozie-example/spark-example/ /user/hadoop/
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

4、查看是否拷贝成功。
命令:hdfs dfs -ls /user/hadoop/
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

5、执行。
命令:bin/oozie job -oozie http://app-11:11000/oozie -config /tmp/oozie-example/spark-example/apps/spark/job.properties -run
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

6、登录Oozie服务器。
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

7、登录app-12:8088。
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

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

8、查看SparkPi的执行结果。执行结果就是:Pi is roughly 3.1423357116785584.
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

pyspark-例子

pi.py

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

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

job.properties

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

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

操作

1、以hadoop用户登录。
命令:su - hadoop
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

2、进入Oozie的安装目录下。
命令:cd /hadoop/Oozie/oozie-5.0.0/
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

3、将相应的文件拷贝到hdfs上。
命令:hdfs dfs -copyFromLocal /tmp/oozie-example/spark-example-pi/ /user/hadoop/
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

4、查看是否拷贝成功。
命令:hdfs dfs -ls /user/hadoop/
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

5、提交程序。
命令:bin/oozie job -oozie http://app-11:11000/oozie -config /tmp/oozie-example/spark-example-pi/apps/pyspark/job.properties -run
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

6、登录hadoop集群。
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

7、查看Spark-Pi的结果。
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例

详细学习内容可观看Spark快速大数据处理扫一扫~~~或者引擎搜索Spark余海峰
余老师带你学习大数据-Spark快速大数据处理第七章第三节Oozie案例