Запуск простого скрипта Spark на Mesos с помощью Zookeeper

Я хочу запустить простую искровую программу, но у меня есть некоторые ошибки. Моя среда: CentOS: 6.6 Java: 1.7.0_51 Scala: 2.10.4 Spark: spark-1.4.0-bin -hadoop2.6 Mesos: 0.22.1

Все установлено, и узлы запущены. Теперь у меня есть один главный узел Mesos и подчиненный узел Mesos. Мои свойства искры приведены ниже:

spark.app.id            20150624-185838-2885789888-5050-1291-0005
spark.app.name          Spark shell
spark.driver.host   192.168.1.172
spark.driver.memory 512m
spark.driver.port   46428
spark.executor.id   driver
spark.executor.memory   512m
spark.executor.uri  http://192.168.1.172:8080/spark-1.4.0-bin-hadoop2.6.tgz
spark.externalBlockStore.folderName spark-91aafe3b-01a8-4c86-ac3b-999e278807c5
spark.fileserver.uri    http://192.168.1.172:51240
spark.jars  
spark.master            mesos://zk://192.168.1.172:2181/mesos
spark.mesos.coarse  true
spark.repl.class.uri    http://192.168.1.172:51600
spark.scheduler.mode    FIFO

Теперь, когда я запустил искру, он приходит к подсказке scala (scala>). После этого я получаю следующую ошибку: задача mesos 1 теперь TASK_FAILED, значение подчиненного устройства mesos занесено в черный список из-за слишком большого количества сбоев, на нем установлен Spark. Как решить эту проблему.


person user3374023    schedule 24.06.2015    source источник


Ответы (2)


Имея всего 900 МБ и spark.driver.memory = 512m, вы сможете запустить планировщик/REPL, но у вас не будет достаточно памяти для spark.executor.memory = 512m, поэтому любые задачи не будут выполняться. Либо увеличение размера памяти вашей виртуальной машины, либо уменьшение требований к памяти драйвера/исполнителя поможет вам обойти эти ограничения памяти.

person Adam    schedule 30.06.2015
comment
Вы имеете в виду, что упомянутые 512 м применимы и к рабочим. Значит 900-512=388м, может быть причина? - person user3374023; 01.07.2015
comment
driver.memory применим к тому месту, где работает драйвер, но executor.memory (также 512 м) требуется в дополнение к ресурсам, необходимым для ваших задач. Исполнитель - это то, что выполняет задачи. Если вы запускаете драйвер и исполнитель/задачи на одном и том же подчиненном узле, вам не хватит памяти. - person Adam; 01.07.2015

Не могли бы вы проверить журналы/информацию о задаче подчиненного устройства mesos, чтобы узнать больше о том, почему задача не удалась. Вы могли бы взглянуть на: 5050.

Вероятно, не связанный с этим вопрос: у вас действительно есть зоопарк:

spark.master mesos://zk://192.168.1.172:2181/mesos

работает (как вы упомянули, у вас есть только один мастер)?

person js84    schedule 25.06.2015
comment
Это было просто повторение TASK_FAILED..5050 запущено и работает. Хочу увеличить мастер поэтому сохранил зк. КСТАТИ. Было доступно 900 МБ памяти, после увеличения до 2 ГБ все работает. Так что, вероятно, проблема была в памяти!! Спасибо.. - person user3374023; 25.06.2015