2016-11-04 12 views
1

, поэтому я никогда не работал с Spark или Docker, но я должен использовать его для проекта. Я пытаюсь понять, как это работает. Поэтому я строил живую банку в Eclipse и надеялся отправить ее в контейнер для докеров, который я установил с помощью этого руководства: https://github.com/sequenceiq/docker-sparkОтправляя банку к контейнеру-докере-последовательному последовательному ящику

Теперь я не совсем понимаю, как я получаю свою банку из своей локальной системы мой контейнер докеров, а затем запустите его.

Я думаю, что мне не хватает, как все это действительно работает вместе, но, возможно, кто-то может его очистить.

Я был бы очень благодарен!

ответ

2

Как я знаю, что есть два максимальных возможностей:

1, расширяющие sequenceiq изображения и создать свое собственный Docker изображение *

Я думаю, что лучший способ «расширить» sequenceiq искра Docker изображения и COPY ваше искровое приложение в фазе сборки изображения.

так что ваш Dockerfile должен выглядеть примерно так:

FROM sequenceiq/spark:1.6.0 
COPY sparkapplication.jar sparkapplication.jar 
COPY bootstrap.sh /etc/bootstrap.sh 
ENTRYPOINT ["/etc/bootstrap.sh"] 

и вам необходимо создать/редактировать bootstrap.sh (Entrypoint) с spark-submit командой:

Вы можете использовать Their bootstrap.sh и добавить сюда свой искровой Посылаем команда (где-то в конце этого файла) что-то вроде:

$SPAKR_HOME/bin/spark-submit \ 
    --class MainClass \ 
    --master local[*] \ 
    /sparkapplication.jar 

Просто поместите ваш sparkapplication.jar nad bootstrap.sh рядом с Dockerfile (в той же папке).

2, вручную скопировать искровой приложение для запуска контейнер

Второй вариант состоит в использовании их DOCKER контейнер и скопировать приложение в контейнер:

docker cp sparkapplication.jar container:/sparkapplication.jar

затем exec (прикрепить) в контейнере (docker exec -it container bash) и выполнить spark-submit вручную.