oozie:同一自定义java操作的多个版本

q1qsirdb  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(334)

我用的是Oozie4.1.0。我部署了一个自定义操作,它扩展了java操作。现在我需要部署除此之外的另一个版本。xsd应该是相同的,但是操作代码中有一些变化。
我将更新的操作放入一个定制包中,并将操作xsd版本化。我猜类型名也应该在自定义操作的构造函数中更改,因为这需要是唯一的,就我判断的代码而言。
但是,如何在使用新版本的工作流xml中引用相同的操作名称呢?处理版本的建议方法是什么?

mzsu5hc0

mzsu5hc01#

解决此问题的步骤:
应该将新版本的jar(action)部署到oozie
新的xsd版本应该添加到oozie.service.schemaservice.wf.ext.schemas下的oozie-site.xml中
在运行时,可以更改与给定操作关联的实际oozie操作类。为此,请在workflow.xml的“全局配置”部分中设置oozie.launcher.action.main.class。这将在中的launcherconf对象中可用 org.apache.oozie.action.hadoop.JavaActionExecutor#getLauncherMain 如果需要进一步更改,可以在自定义操作中重写。

相关问题