gpt4 book ai didi

java - 从 java 杀死一个 Oozie 工作流

转载 作者:可可西里 更新时间:2023-11-01 15:33:28 26 4
gpt4 key购买 nike

所以我一直在使用 Oozie java api,一切都很好,直到我遇到以下问题。尝试运行以下 java 代码时:

OozieClient oc = new OozieClient(OOZIE_URL);

Properties conf = oc.createConfiguration();

conf.setProperty(OozieClient.APP_PATH, PATH_TO_WF);


String jobId = oc.run(conf);

while(oc.getJobInfo(jobId).getStatus() == WorkflowJob.Status.PREP){
Thread.sleep(1000);
}

oc.kill(jobId);

失败并出现以下异常:

E0508: User [?] not authorized for WF job [JOB_ID_GOES_HERE]

我已经能够在谷歌上找到一些相关的问题,尽管我注意到的那些只与命令行 oozie 客户端有关。

我的主要问题是考虑到您可以通过简单地添加以下内容以另一个用户身份从 java 运行 Oozie 工作流:

conf.setProperty("user.name", "user123");

是否有类似的事情可以通过终止工作流来完成?

最佳答案

使用 AuthOozieClient 并设置系统用户。

OozieClient oc = new AuthOozieClient(OOZIE_URL);
System.setProperty("user.name", userName);
client.kill(jobId);

关于java - 从 java 杀死一个 Oozie 工作流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29078668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com