Cloudera 提交作业时出现Oozie空指针异常

Cloudera 提交作业时出现Oozie空指针异常,cloudera,oozie,oozie-coordinator,Cloudera,Oozie,Oozie Coordinator,仅尝试运行一个非常简单的字数计算示例,但在提交作业时获得以下空指针: oozie作业-oozie=-config job.properties-run [cloudera@localhost Oozie_Example]$ oozie job -oozie=http://localhost:11000/oozie/ -config job.properties -run java.lang.RuntimeException: java.lang.NullPointerException

仅尝试运行一个非常简单的字数计算示例,但在提交作业时获得以下空指针:

oozie作业-oozie=-config job.properties-run

[cloudera@localhost Oozie_Example]$ oozie job -oozie=http://localhost:11000/oozie/ -config job.properties -run
java.lang.RuntimeException: java.lang.NullPointerException
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1242)
    at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:2714)
    at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:477)
    at org.apache.oozie.client.OozieClient$JobSubmit.call(OozieClient.java:586)
    at org.apache.oozie.client.OozieClient$JobSubmit.call(OozieClient.java:561)
    at org.apache.oozie.client.OozieClient$ClientCallable.call(OozieClient.java:479)
    at org.apache.oozie.client.OozieClient.run(OozieClient.java:655)
    at org.apache.oozie.cli.OozieCLI.jobCommand(OozieCLI.java:918)
    at org.apache.oozie.cli.OozieCLI.processCommand(OozieCLI.java:579)
    at org.apache.oozie.cli.OozieCLI.run(OozieCLI.java:552)
    at org.apache.oozie.cli.OozieCLI.main(OozieCLI.java:199)
Caused by: java.lang.NullPointerException
    at java.io.ByteArrayInputStream.<init>(ByteArrayInputStream.java:106)
    at sun.misc.CharacterEncoder.encode(CharacterEncoder.java:188)
    at sun.net.www.protocol.http.NegotiateAuthentication.setHeaders(NegotiateAuthentication.java:156)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1482)
    at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
    ... 8 more
java.lang.NullPointerException

有什么想法吗?它发生得很早,所以我认为它与Oozie或namenode有关。

java.lang.NullPointerException
是由于job.properties文件中的错误造成的

您是否已将工作流XML放入HDFS中?此外,您还应指定:

oozie.wf.application.path=${nameNode}/user/${user.name}/oozie/workflow/wordcount/my-workflow.xml

我想补充一下这个问题的答案

当oozie客户端收到NullPointerException时,这通常意味着该请求导致服务器线程失败。如果您想找出“真正”的原因,您应该查看服务器日志,例如CDH的/var/log/oozie/oozie.log


在那里你可以找到详细的stacktrace。这证明是非常有帮助的。至少在我们的例子中,它准确地告诉我们发生了什么,比如“hdfs工作流文件不存在,等等……”

这不是Oozie本身发生的,而是客户端错误。也就是说,我怀疑它试图进行身份验证,但失败了……可能与kerberos有关?我使用的是kerberzied vmyes我在hdfs中有工作流xml,并尝试直接指定xml您可能缺少分配语句或某些内容与您所说的job.properties文件不在同一位置。是的,与我的job properties文件相关的没有指向正确的namenode
oozie.wf.application.path=${nameNode}/user/${user.name}/oozie/workflow/wordcount/my-workflow.xml