我尝试使用 Java API 运行 oozie 工作流。但是在提交作业时,它给我一个错误代码 500。请查看下面的堆栈跟踪。
Exception in thread "main" HTTP error code: 500 : Internal Server Error
at org.apache.oozie.client.OozieClient.handleError(OozieClient.java:445)
at org.apache.oozie.client.OozieClient$JobSubmit.call(OozieClient.java:523)
at org.apache.oozie.client.OozieClient$JobSubmit.call(OozieClient.java:493)
at org.apache.oozie.client.OozieClient$ClientCallable.call(OozieClient.java:416)
at org.apache.oozie.client.OozieClient.run(OozieClient.java:587)
我用过的代码是:
OozieClient wc = new OozieClient("http://localhost:11000/oozie");
Properties conf = wc.createConfiguration();
conf.setProperty("jobTracker", "http://localhost:8021/");
conf.setProperty(OozieClient.APP_PATH, "localhost:9023/user/688697/jarloc");
// submit and start the workflow job
String jobId = wc.run(conf);
我用过的hadoop生态系统有: Cloudera Hadoop 发行版 v4.1.2
非常感谢任何帮助!
谢谢, 阿伦
最佳答案
您的逻辑是期望 Oozie 服务器位于您执行此代码的同一台机器上,我认为这可能是这里的一个问题。要么确保您在具有 oozie 服务器的同一台机器上运行上述代码,要么将 'localhost' 替换为 oozie 服务器的实际位置(完整机器名称)。
关于hadoop - 无法连接到 oozie 服务器(错误代码 : 500),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14216142/