繁体   English   中英

在 Kerberos 下为 Kafka 启动 Spark-Submit 作业

[英]Launching a Spark-Submit job under Kerberos for Kafka

通过修补,我已经能够使用以下命令部分启动一个 spark提交作业,但是在启动后不久它就崩溃了,并给了我下面概述的异常:

Spark-提交命令:

su spark -c 'export SPARK_MAJOR_VERSION=2; spark-submit \\ --verbose \\ --master yarn \\ --driver-cores 5 \\ --num-executors 3 --executor-cores 6 \\ --principal spark@test.com \\ --keytab /etc/security/keytabs/spark.headless.keytab \\ --driver-java-options "-Djava.security.auth.login.config=kafka_client_jaas.conf"\\ --conf "spark.executor.extraJavaOptions=-Djava.security.auth.login.config=kafka_client_jaas.conf" \\ --files "/tmp/kafka_client_jaas.conf,/tmp/kafka.service.keytab" \\ --class au.com.XXX.XXX.spark.test.test test.jar application.properties'

例外:

Caused by: org.apache.kafka.common.KafkaException: javax.security.auth.login.LoginException: Could not login: the client is being asked for a password, but the Kafka client code does not currently support obtaining a password from the user. not available to garner  authentication information from the user

WARN KerberosLogin: [Principal=kafka/test.com@test.com]: TGT renewal thread has been interrupted and will exit.

如何同时让 Kerberos 到 KINIT 两个主体? 我假设这是这里的问题? 我尝试在初始命令中添加另一组 --principal/--keytab,尽管这在 HDFS 中提出了更多权限问题。

这是一个旧线程,但我为此苦苦挣扎了一段时间,希望这可以帮助某人。

可能的原因是 Spark 执行程序无法定位密钥表,因此无法通过 Kerberos 进行身份验证。 在您提交时,您应该使用以下选项将您的 Jaas 配置和 Keytab 文件传递​​给您的执行程序:

spark-submit --master yarn --deploy-mode cluster --files /path/to/keytab/yourkeytab.keytab#yourkeytab.keytab,/path/to/jaas/your-kafka-jaas.conf#your-kafka-jaas.conf --conf "spark.driver.extraJavaOptions=-Djava.security.auth.login.config=your-kafka-jaas.conf" --conf "spark.executor.extraJavaOptions=-Djava.security.auth.login.config=your-kafka-jaas.conf" --driver-java-options "-Djava.security.auth.login.config=your-kafka-jaas.conf" your-application.jar

最后,由于这些 jaas 文件被发送到执行程序(和 spark 驱动程序),您应该使用 Keytab 的相对路径,而不是绝对路径。 你的 jaas 配置应该有以下几行:

keyTab="./yourkeytab.keytab"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM