2016-03-01 74 views
0

我是新来了Oozie,试图CDH4.1.1写Oozie的工作流程。于是我开始了Oozie的服务,然后我用这个命令检查状态:Oozie的状态检查抛出java.lang.NullPointerException

sudo service oozie status

我得到的消息:

running

然后我尝试这个命令检查状态:

oozie admin --oozie http://localhost:11000/oozie status

我得到了下面的例外:

java.lang.NullPointerException 
    at java.io.Writer.write(Writer.java:140) 
    at org.apache.oozie.client.AuthOozieClient.writeAuthToken(AuthOozieClient.java:182) 
    at org.apache.oozie.client.AuthOozieClient.createConnection(AuthOozieClient.java:137) 
    at org.apache.oozie.client.OozieClient.validateWSVersion(OozieClient.java:243) 
    at org.apache.oozie.client.OozieClient.createURL(OozieClient.java:344) 
    at org.apache.oozie.client.OozieClient.access$000(OozieClient.java:76) 
    at org.apache.oozie.client.OozieClient$ClientCallable.call(OozieClient.java:410) 
    at org.apache.oozie.client.OozieClient.getSystemMode(OozieClient.java:1299) 
    at org.apache.oozie.cli.OozieCLI.adminCommand(OozieCLI.java:1323) 
    at org.apache.oozie.cli.OozieCLI.processCommand(OozieCLI.java:499) 
    at org.apache.oozie.cli.OozieCLI.run(OozieCLI.java:466) 
    at org.apache.oozie.cli.OozieCLI.main(OozieCLI.java:176) 
null 

读异常堆栈,我无法弄清楚这个异常的原因。请让我知道为什么我得到这个异常以及如何解决这个问题。

回答

1

尝试在集群中禁用ENV财产USE_AUTH_TOKEN_CACHE_SYS_PROP。根据您的堆栈跟踪和code

一般的簇是设置与基于Kerberos的认证,这是由以下的步骤here成立。不知道你是否想这样做,但只是想作为参考提到。

+0

按照该代码,这是一个环境变量,则进行到使用身份验证令牌,它获取之前Oozie的客户检查。既然你没有向oozie调用传递任何'-auth'参数,我猜可能是空的。你能检查你的oozie脚本('which oozie')是否从中选择了任何env变量? – rahulbmv

+0

'这oozie'给了我这个路径:'在/ usr/bin中/ oozie'这是一个shell脚本,它检测到JAVA_HOME,然后执行这一行:'EXEC/usr/lib目录/ Oozie的/ bin中/ Oozie的 “$ @” '你能建议做什么吗? – user182944

+0

正在查看其他来源并进入https://issues.apache.org/jira/browse/OOZIE-1010。你能检查你使用的版本不是这个吗?另外,您可以尝试将'-auth SIMPLE'传递给您的命令,如票证中所示? – rahulbmv