提交作业时出现Oozie空指针异常
Oozie null pointer exception when submitting jobs
只是尝试 运行 一个非常简单的字数统计示例,但在提交作业时得到以下空指针:
oozie 作业 -oozie=http://localhost:11000/oozie/ -config job.properties -运行
[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
这是我的工作属性文件:
nameNode=hdfs://localhost:8020
jobTracker=localhost:8021
queueName=default
inputDir=${nameNode}/user/dev/oozie/workflow/wordcount/input/
outputDir=${nameNode}/user/dev/oozie/workflow/wordcount/output/
oozie.libpath=${nameNode}/user/oozie/workflow/wordcount/lib
oozie.use.system.libpath=true
user.name=dev
oozie.wf.application.path=${nameNode}/user/${user.name}/oozie/workflow/wordcount/
有什么想法吗?它发生得很早,所以我认为它与 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 时,这通常意味着请求导致服务器线程失败。如果要找出"true"原因,应该查看服务器日志,如CDH的/var/log/oozie/oozie.log。
在那里你会找到详细的堆栈跟踪。事实证明这非常有帮助。至少在我们的例子中,它准确地告诉了发生了什么,例如 "a hdfs workflow file doesn't exist, blah..."
只是尝试 运行 一个非常简单的字数统计示例,但在提交作业时得到以下空指针:
oozie 作业 -oozie=http://localhost:11000/oozie/ -config job.properties -运行
[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
这是我的工作属性文件:
nameNode=hdfs://localhost:8020
jobTracker=localhost:8021
queueName=default
inputDir=${nameNode}/user/dev/oozie/workflow/wordcount/input/
outputDir=${nameNode}/user/dev/oozie/workflow/wordcount/output/
oozie.libpath=${nameNode}/user/oozie/workflow/wordcount/lib
oozie.use.system.libpath=true
user.name=dev
oozie.wf.application.path=${nameNode}/user/${user.name}/oozie/workflow/wordcount/
有什么想法吗?它发生得很早,所以我认为它与 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 时,这通常意味着请求导致服务器线程失败。如果要找出"true"原因,应该查看服务器日志,如CDH的/var/log/oozie/oozie.log。
在那里你会找到详细的堆栈跟踪。事实证明这非常有帮助。至少在我们的例子中,它准确地告诉了发生了什么,例如 "a hdfs workflow file doesn't exist, blah..."