Я пытаюсь создать контейнер Kubernetes для Spark, используя инструкции, содержащиеся в исходном коде Spark. Я использую предоставленный здесь файл Docker: https://github.com/apache/spark/blob/branch-2.4/resource-managers/kubernetes/docker/src/main/dockerfiles/spark/Dockerfile
Однако пути, указанные в Dockerfile, не соответствуют структуре папок исходного кода Spark. Например,
- В исходном коде нет каталога jar. Но файл докера делает «КОПИРОВАТЬ jars / opt / spark / jars»
- Entrypoint.sh находится в 'resource-manager / kubernetes / docker / src / main / dockerfiles / spark / entrypoint.sh', но файл Docker пытается скопировать его из "COPY $ {img_path} /spark/entrypoint.sh /" opt / "где" ARG img_path = kubernetes / dockerfiles "
- Точно так же "COPY $ {k8s_tests} / opt / spark / tests", похоже, также имеет неправильный исходный каталог.
Что мне не хватает?
docker build -t spark:latest -f kubernetes/dockerfiles/spark/Dockerfile .
Это не предназначено для этого. Сначала вам нужно запустить ./make-distribution с -PKubernetes. Это дает вам дистрибутив Spark в формате .tgz. Когда вы разархивируете его, вы увидите структуру каталогов, как и ожидалось в Dockerfile. 12.07.2019