Исключение нулевого указателя Oozie при отправке задания
Просто пытаюсь запустить очень простой пример подсчета слов, но при отправке задания получаем следующий нулевой указатель:
oozie job -oozie = http://localhost:11000/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
вот мой файл свойств работы:
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/
Есть идеи? Это происходит довольно рано, поэтому я думаю, что это как-то связано с Узи или Наменоде.
2 ответа
Хотелось бы добавить к ответу на этот вопрос.
Когда клиент oozie получил исключение NullPointerException, это обычно означает, что запрос вызвал сбой потока сервера. Если вы хотите выяснить "истинную" причину, вы должны посмотреть журнал сервера, такой как /var/log/oozie/oozie.log для CDH.
Там вы найдете подробную трассировку стека. Это оказалось очень полезным. По крайней мере, в нашем случае это точно говорит о том, что произошло, например, "файл рабочего процесса hdfs не существует, бла..."
java.lang.NullPointerException
из-за ошибки в вашем файле job.properties.
Вы разместили рабочий процесс XML в HDFS? Также вы должны указать:
oozie.wf.application.path=${nameNode}/user/${user.name}/oozie/workflow/wordcount/my-workflow.xml