Передача активного профиля пружины Spark App в EMR - PullRequest
0 голосов
/ 19 февраля 2020

Я разработал приложение Spark, которое использует Spring Boot, и задание Spark передается в EMR Cluster на кластер EMR на основе события.

Это работает, как ожидается, если приложение Spark не является Spring Boot Приложение. С приложением Spring Boot нам нужно было изменить способ создания UAR JAR-файлов.

Как бы то ни было, когда мы отправляем задание, активный профиль Spring не проходит правильно.

spark-submit --verbose --master yarn --executor-memory 4g --class com.test.ConsoleApplication /home/hadoop/test.jar --driver-java-options='arg1 -Dspring.profiles.active=dev' --deploy-mode cluster --conf "spark.executor.extraJavaOptions=-Dspring.profiles.active=dev" --conf "spark.driver.extraJavaOptions=-Dspring.profiles.active=dev"

То, что я делаю, активный профиль не проходит, и он выбирает «локальный» профиль по умолчанию и соответственно запускает приложение spark.

Преобразование Приложение Spark для непружинного загрузочного приложения является опцией. Но не хотите go этот маршрут, если нет другого выбора.

Спасибо, Сати sh

1 Ответ

0 голосов
/ 19 февраля 2020

Способен решить проблему с помощью действия bootstrap в кластере EMR. Я устанавливаю переменную окружения для установки правильного профиля.

Я также могу передать с помощью опции --conf

--conf spark.driver.extraJavaOptions=-Dspring.profiles.active=prod
--conf spark.executor.extraJavaOptions=-Dspring.profiles.active=prod
...