【发布时间】:2018-03-05 22:43:09
【问题描述】:
我有一个运行时间很长的 Spark 流式作业,它在 Kerberized Hadoop 集群上运行。它每隔几天就会失败,并出现以下错误:
诊断:在缓存中找不到令牌(XXXXXXX 的令牌:HDFS_DELEGATION_TOKEN owner=XXXXXXXXX@XX.COM,renewer=yarn,realUser=,issueDate=XXXXXXXXXXXXXXX,maxDate=XXXXXXXXXX,sequenceNumber=XXXXXXXX,masterKeyId=XXX)
我尝试在 spark-submit 中添加 --keytab 和 --principal 选项。但是我们已经有以下选项可以做同样的事情:
对于第二个选项,我们已经通过以下方式传入了 keytab 和 principal: 'spark.driver.extraJavaOptions=-Djava.security.auth.login.config=kafka_client_jaas.conf -Djava.security.krb5.conf=krb5.conf -XX:+UseCompressedOops -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX :+G1SummarizeConcMark -XX:InitiatingHeapOccupancyPercent=35 -XX:ConcGCThreads=12' \
spark.executor.extraJavaOptions 也是如此。如果我们添加选项 --principal 和 --keytab 它会导致尝试将文件(keytab)多次添加到分布式缓存
【问题讨论】:
-
您是否将您的密钥表传递给您的流媒体作业? cloudera.com/documentation/enterprise/5-8-x/topics/…
标签: apache-spark spark-streaming kerberos