Удаленное выполнение искрового задания

Попытка запустить задание Spark.

Spark установлен как пакет внутри Cloudera Hadoop.

Как запустить задание Spark удаленно с помощью Java API?


person mgurov    schedule 02.09.2014    source источник
comment
Что вы подразумеваете под удаленным запуском задания Spark? Не будет ли достаточно подключиться по SSH к вашему Spark Cluster и вызвать скрипт spark-submit? Вы можете сделать те же самые шаги программно!!   -  person emecas    schedule 14.09.2014
comment
У меня есть веб-служба на хосте A и кластер CDH на других хостах. Я хочу запустить задание через какой-то API с сервера A без команды spark-submit. Это возможно?   -  person mgurov    schedule 15.09.2014
comment
Похоже, вам нужен github.com/spark-jobserver/spark-jobserver.   -  person Dan Osipov    schedule 03.02.2015


Ответы (2)


Чтобы отправлять приложения Spark программно из кода, а не с помощью сценариев отправки, вам потребуется создать файл SparkContext.

Вот API Java SparkContext.

Для дальнейшей настройки контекста вы предоставляете ему SparkConf значения, соответствующие записям на странице конфигурации: Configuration

Вашему кластеру потребуется копия кода, который вы собираетесь отправить в его путь к классам. Есть несколько способов сделать это, вы можете управлять им в кластере вручную или передать его в SparkConf с помощью метода setJars.

Начиная со Spark 1.3.1, вы можете одновременно создавать только 1 SparkContext для каждой JVM. Поэтому, если вы хотите отправлять параллельные приложения с одной и той же JVM, вам необходимо правильно управлять этим общим ресурсом.

person Rich    schedule 22.04.2015

Проверьте свой spark-кластер по URL-адресу spark-master-hostname: если он работает нормально, перейдите на компьютер, с которого вы хотите запустить задание (>> на этом компьютере также должна быть установлена ​​​​библиотека spark для отправки задания). И) нажмите эту команду от вашей машины spark-submit --class --jars --master spark://:7077 .jar

person hnahak    schedule 09.03.2015