Запуск сервера истории Spark в Docker для просмотра заданий AWS Glue - PullRequest
0 голосов
/ 05 ноября 2019

Я настроил AWS Glue для вывода журналов событий Spark, чтобы их можно было импортировать в Spark History Server. Для этого AWS предоставляет CloudFormation stack , я просто хочу запустить сервер истории локально и импортировать журналы событий. Я хочу использовать Docker для этого, чтобы коллеги могли легко выполнить одно и то же.

У меня проблемы, потому что сервер истории - это процесс-демон, поэтому контейнер запускается и сразу выключается.

Как мне сохранить образ Docker живым?

Мой Dockerfile выглядит следующим образом

ARG SPARK_IMAGE=gcr.io/spark-operator/spark:v2.4.4
FROM ${SPARK_IMAGE}

RUN apk --update add coreutils

RUN mkdir /tmp/spark-events

ENTRYPOINT ["/opt/spark/sbin/start-history-server.sh"]

Я запускаю его с помощью:

docker run -v ${PWD}/events:/tmp/spark-events -p 18080:18080 sparkhistoryserver

1 Ответ

0 голосов
/ 05 ноября 2019

Вам нужна переменная среды SPARK_NO_DAEMONIZE, см. здесь . Это сохранит контейнер.

Просто измените ваш файл Docker следующим образом:

ARG SPARK_IMAGE=gcr.io/spark-operator/spark:v2.4.4
FROM ${SPARK_IMAGE}

RUN apk --update add coreutils

RUN mkdir /tmp/spark-events

ENV SPARK_NO_DAEMONIZE TRUE
ENTRYPOINT ["/opt/spark/sbin/start-history-server.sh"]

См. здесь для репо с более подробным readme.

...