Спарк-представить работу, выполнив exec на мастер-модуль в K8S - PullRequest
0 голосов
/ 25 сентября 2019

Я успешно создал спарк-кластер на Куберне с 1 мастером и 2 рабочими модулями.Искра v2.4.3 работает с Java 8 и Scala 2.11.12 на k8s с kubectl v1.16.0 и minikube v1.4.0.

Подробно kubectl get pods показывает это -

NAME                            READY   STATUS    RESTARTS   AGE
spark-master-fcfd55d7d-qrpsw    1/1     Running   0          66m
spark-worker-686bd57b5d-6s9zb   1/1     Running   0          65m
spark-worker-686bd57b5d-wrqrd   1/1     Running   0          65m

Я также могу запустить встроенное искровое приложение, такое как pyspark и spark-shell, с помощью exec в мастер-модуле.-

kubectl exec spark-master-fcfd55d7d-qrpsw -it spark-shell` 

Так как у меня уже достаточно env, я пытаюсь запустить свою искровую работу на этом как выше.Но это не работает.Команда spark submit выглядит следующим образом.

#!/usr/bin/env bash

spark-submit \
   --class com.cloudian.spark.main.RequestInfoLogStreamer \
   /Users/atekade/IdeaProjects/scala-spark-streaming/target/scala-2.11/scala-spark-streaming_2.11-1.0.jar

И сценарий .sh затем передается в мастер-модуль -

kubectl exec spark-master-fcfd55d7d-qrpsw /Users/atekade/IdeaProjects/scala-spark-streaming/logstreamer.sh

Но это дает мне ошибку -

OCI runtime exec failed: exec failed: container_linux.go:345: starting container process caused "exec: \"/Users/atekade/IdeaProjects/scala-spark-streaming/logstreamer.sh\": stat /Users/atekade/IdeaProjects/scala-spark-streaming/logstreamer.sh: no such file or directory": unknown
command terminated with exit code 126

Что яздесь делаешь неправильно?Мое намерение состоит в том, чтобы получить работу, выполненную этими основными и рабочими узлами.

1 Ответ

0 голосов
/ 25 сентября 2019

Как вы можете прочитать из ошибки:

Ошибка выполнения exec во время выполнения OCI: ошибка exec: container_linux.go: 345: запуск процесса контейнера вызвал "exec: \" / Users / atekade / IdeaProjects /scala-spark-streaming / logstreamer.sh \ ": stat /Users/atekade/IdeaProjects/scala-spark-streaming/logstreamer.sh: нет такого файла или каталога": неизвестная команда прервана с кодом выхода 126

Что нас больше всего интересует, так это часть /Users/atekade/IdeaProjects/scala-spark-streaming/logstreamer.sh: no such file or directory, что означает, что модуль не может найти файл logstreamer.sh.

Сценарий logstreamer.sh необходимо загрузить в модуль spark-master.Также должен присутствовать scala-spark-streaming_2.11-1.0.jar.

Вы можете настроить PersistenVolume для хранилища , это будет полезно, потому что если ваш модуль будет перепланировать все данные, которые не были сохраненына PV будет потеряно.

Вот ссылка на документацию мини-куба для постоянных томов.

Вы также можете использовать различные классы хранения .

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