温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
Fayson的github:https://github.com/fayson/cdhproject
提示:代码块部分可以左右滑动查看噢
1.文档编写目的
前面Fayson介绍了《如何使用Oozie API接口向非Kerberos环境的CDH集群提交Spark作业》,本篇文章主要介绍如何使用Oozie Client API向非Kerberos环境的CDH集群提交Java作业。
内容概述
1.环境准备及描述
2.示例代码编写及测试
3.总结
测试环境
1.CM和CDH版本为5.13.1
前置条件
1.集群未启用Kerberos
2.环境准备及描述
1.我们将作业运行的jar包上传到HDFS目录
(可左右滑动)
这里Fayson使用的Hadoop自带的示例来测试。
2.定义一个Java Action的workflow.xml文件,内容如下:
(可左右滑动)
注意:workflow.xml文件中使用的参数配置为动态参数,会在后面的代码中指定该参数的值。
3.将定义好的workflow.xml文件上传至HDFS的
/user/faysontest/oozie/javaaction目录下
(可左右滑动)
3.创建Maven示例工程
1.使用Maven创建Java工程
2.工程pom.xml文件内容如下
(可左右滑动)
4.编写Oozie示例代码
1.编写JavaWorkflowDemo.java,示例代码如下
(可左右滑动)
5.示例运行及验证
1.运行JavaWorkflowDemo代码,向CDH集群提交Java作业
2.登录CM进入Yarn服务的“应用程序”菜单查看
3.打开Yarn的8088 Web界面查看
可以看到作业已运行成功,到此已完成了通过OozieAPI接口创建workflow并运行的示例演示。
6.总结
通过Oozie API提交作业,需要先定义好workflow.xml文件
参数传递通过在代码里面调用oozieClient.createConfiguration()创建一个Properties对象将K,V值存储并传入oozieClient.run(properties)中。
在指定HDFS上运行的jar或workflow的路径时需要带上HDFS的路径,否则默认会找到本地的目录
GitHub地址:
https://github.com/fayson/cdhproject/blob/master/ooziedemo/src/main/java/com/cloudera/nokerberos/JavaWorkflowDemo.java
https://github.com/fayson/cdhproject/blob/master/ooziedemo/conf/workflow-java-template.xml
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
领取专属 10元无门槛券
私享最新 技术干货