Конфигурация Spark Scala Jaas - PullRequest
       11

Конфигурация Spark Scala Jaas

0 голосов
/ 04 сентября 2018

Я выполняю искровой код в оболочке scala с использованием jaf-файлов Kafka, и я намерен передавать сообщения из темы Kafka. Мой объект Spark создан, но может ли кто-нибудь помочь мне, как я могу передать файл конфигурации JAAS при запуске оболочки Shell? Моя ошибка указывает на отсутствие конфигурации jaas

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

У меня проблема такая же, как у вас, я использую этот скрипт запуска для запуска spark-shell , я использую spark 2.3.0.

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 

Любая попытка не удалась с этой ошибкой:

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.extraJavaOptions и spark.executor.extraJavaOptions не работают. Ничего не получалось до тех пор, пока я не добавил эту строку в начало сценария запуска:

export SPARK_SUBMIT_OPTS='-Djava.security.auth.login.config=/home/alessio.palma/scala_test/jaas.conf' 

И волшебным образом был найден файл jaas.conf. Еще одна вещь, которую я предлагаю добавить в ваш скрипт запуска:

 export SPARK_KAFKA_VERSION=0.10
0 голосов
/ 04 сентября 2018

Предполагая, что у вас есть файл spark-kafka.jaas в текущей папке, из которой вы запускаете spark-submit, вы передаете его как файл, а также параметр «Драйвер и исполнитель»

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"

Вам также может понадобиться установить "security.protocol" в свойствах Kafka кода Spark в качестве одного из поддерживаемых протоколов Kafka SASL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...