首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spark Scala Jaas配置

Spark Scala Jaas配置
EN

Stack Overflow用户
提问于 2018-09-05 03:03:41
回答 2查看 4.7K关注 0票数 4

我正在使用Kafka jars在scala shell上执行spark代码,我的目的是从Kafka主题流式传输消息。我的spark对象已经创建好了,但是有没有人可以帮助我在启动spark shell时如何传递jaas配置文件呢?我的错误将我指向缺少jaas配置

EN

回答 2

Stack Overflow用户

发布于 2018-09-05 03:46:01

假设在运行spark-submit的当前文件夹中有一个spark-kafka.jaas文件,则将其作为文件以及驱动程序和执行器选项进行传递

代码语言:javascript
复制
spark-submit \
 ...
  --files "spark-kafka.jaas#spark-kafka.jaas" \
  --driver-java-options "-Djava.security.auth.login.config=./spark-kafka.jaas" \
  --conf "spark.executor.extraJavaOptions=-Djava.security.auth.login.config=./spark-kafka.jaas"

您可能还需要在Spark code的Kafka属性中将"security.protocol"设置为受支持的Kafka SASL协议之一

票数 6
EN

Stack Overflow用户

发布于 2018-10-31 22:17:56

我遇到了像你这样的问题,我正在使用这个启动脚本来运行我的 spark -shell,我正在使用spark 2.3.0。

代码语言:javascript
复制
export HOME=/home/alessio.palma/scala_test

spark2-shell  \
--verbose \
--principal hdp_ud_appadmin \
--files "jaas.conf" \
--keytab $HOME/hdp_ud_app.keytab \
    --master local[2] \
    --packages org.apache.spark:spark-streaming-kafka-0-10_2.11:2.3.0,org.apache.kafka:kafka-clients:0.10.0.1 \ 
    --conf spark.driver.extraJavaOptions="-Djava.security.auth.login.config=/home/alessio.palma/scala_test/jaas.conf -Djava.security.krb5.conf=/etc/krb5.conf" \
    --conf spark.executor.extraJavaOptions="-Djava.security.auth.login.config=/home/alessio.palma/scala_test/jaas.conf -Djava.security.krb5.conf=/etc/krb5.conf" \
    --driver-java-options spark.driver.extraJavaOptions="-Djava.security.auth.login.config=file://jaas.conf -Djava.security.krb5.conf=file:///etc/krb5.conf" \
    --driver-java-options spark.executor.extraJavaOptions="-Djava.security.auth.login.config=file://jaas.conf -Djava.security.krb5.conf=file:///etc/krb5.conf" \
--queue=root.Global.UnifiedData.hdp_global_ud_app 

任何尝试都会失败,并显示以下错误:

代码语言:javascript
复制
org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
:
.
Caused by: org.apache.kafka.common.KafkaException: org.apache.kafka.common.KafkaException: Jaas configuration not found

看起来park.driver.extraJavaOptionsspark.executor.extraJavaOptions不工作了。在我将这一行添加到我的启动脚本顶部之前,任何东西都失败了:

代码语言:javascript
复制
export SPARK_SUBMIT_OPTS='-Djava.security.auth.login.config=/home/alessio.palma/scala_test/jaas.conf' 

神奇的是,jaas.conf文件被找到了。我建议在您的启动脚本中添加的另一件事是:

代码语言:javascript
复制
 export SPARK_KAFKA_VERSION=0.10
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52172539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档