3

我在 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 脚本没有错误(甚至写入配置单元表等)。Log4j 记录器不起作用(它可以使用独立脚本),但至少 print() (标准输出到纱线日志中)是的......

谢谢

4

1 回答 1

2

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

于 2017-11-29T11:33:20.210 回答