Создайте SparkSession с мастером, установленным на k8s - PullRequest
0 голосов
/ 20 ноября 2019

Работа над POC для Spark через K8s (Spark, версия 2.4.4).

Мне удалось вызвать искровое задание с использованием spark-submit:

bin/spark-submit --master k8s://https://localhost:8443 --deploy-mode cluster --conf spark.executor.instances=5 --conf spark.kubernetes.authenticate.driver.serviceAccountName=spark --conf spark.kubernetes.container.image=liranbo/k8s-test4:latest --class org.apache.spark.examples.SparkPi --name spark-pi local:///opt/spark/examples/jars/spark-examples_2.11-2.4.4.jar 40

Попытка сделатьто же самое программно с использованием SparkSession Builder.

SparkSession.builder().appName(appName).master("k8s://https://localhost:8443")

И я получаю следующее исключение

org.apache.spark.SparkException: Could not parse Master URL: 'k8s://https://localhost:8443'
at org.apache.spark.SparkContext$.org$apache$spark$SparkContext$$createTaskScheduler(SparkContext.scala:2784)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:493)
at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2520)
at org.apache.spark.sql.SparkSession$Builder.$anonfun$getOrCreate$5(SparkSession.scala:935)
at scala.Option.getOrElse(Option.scala:138)
at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:926)
at SparkPi.startBySparkSessionBuilder(SparkPi.java:46)
at Runner.main(Runner.java:9)

Возможно ли установить основной URL-адрес на K8s при использовании SparkSession? если нет, то почему поддерживается spark-submit?

Кстати: я смог запустить приложение программно, используя SparkLauncher , но это не то решение, которое мне нужно.

Я видел (возможно) рабочий пример в sparkPy .

1 Ответ

0 голосов
/ 30 декабря 2019

на тот случай, если кто-то столкнется с той же проблемой - проблема связана с отсутствующей банкой. добавить следующее:

    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-kubernetes_${scala.version}</artifactId>
        <version>${spark.version}</version>
    </dependency>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...