Spark 1.6.Token 只能通过 kerberos 或 web 身份验证发布

Spark 1.6.Token can be issued only with kerberos or web authentication

我在我的 shell 驱动程序脚本中调用了 spark-submit 之前的 kinit keytab。问题是,它自己工作,但是当我通过 Oozie 调用 shell 驱动程序脚本时,我得到了这个错误:

Stdoutput py4j.protocol.Py4JJavaError: An error occurred while calling 
o49.saveAsTextFile.
Stdoutput : org.apache.hadoop.ipc.RemoteException(java.io.IOException): 
Delegation Token can be issued only with kerberos or web authentication

问题可能出在这里

file.coalesce(1,True).saveAsTextFile(FQDNofHadoop+output) 

编辑:在我的脚本中是:kinit -k -t /home/me/me.keytab me@DOMAIN.HAD

编辑:工作解决方案:

我用过

spark-submit --principal 'me@DOMAIN.HAD' \ --keytab '/home/me/me.keytab' \ 

并且在 oozie 中执行 pyspark 脚本没有错误(甚至写入 hive table 等等)。 Log4j 记录器没有工作(它可以使用独立脚本),但至少 print() (stdout 到 yarn 日志中)是的......

感谢

我使用了 --principal 'me@DOMAIN.HAD' \ --keytab '/home/me/me.keytab' \ 并且 pyspark 脚本的执行没有错误(甚至写入配置单元 table 等等在)。记录器没有工作,但至少 print() 是 ...