2016-11-28 5 views
0

В соответствии с моим понятием искры не обязательно должны устанавливаться на всех узла в кластере пряжи. Инсталляция Spark требуется только на узле (обычно узле шлюза), откуда запускается скрипт spark-submit.Как искрообразование jar (../spark-2.0.1-bin-hadoop2.6/jars) распространяется на физический рабочий узел в кластере YARN

В соответствии с искровым руководство по программированию

Чтобы сделать свечи во время выполнения банки доступны из стороны ПРЯЖИ, вы можете указать spark.yarn.archive или spark.yarn.jars.

Как библиотеки, содержащие код Спарка (т.е. искрового выполнение банка доступен в ../spark-2.0.1-bin-hadoop2.6/jars) получить распространены физический труд Node (где запущен исполнитель) в YARN.

Thank you.

ответ

0

Вы можете поместить банки на hdfs, а затем установить путь spark.yarn.jars в положение hdfs. Это должно обеспечить искровые банки для всех узлов.

Обратите внимание, что если вам необходимо распространять переменные среды (например, spark-env.sh), то это должно быть на всех узлах.

+0

Таким образом, это означает, что бачок с искровым исполнением локально копируется на весь рабочий узел, где исполнители запускаются с пути, обозначенного «spark.yarn.jars». если да, то это происходит на основе выполнения каждого искрового приложения. –

+0

Он считывается непосредственно из hdfs и создается, когда драйвер создает задание, а исполнитель назначается на узле. –

0

Во-первых, банки будут загружены в HDFS (постановка папок) и после этого распространяется на локальный каталог/TMP каждого nodemanager

0

я разместил этот вопрос в Cloudera сообществе. Мысль об обмене ответами.

При работе на Спарк, искра архив получает распределяется рабочий узлов через ContainerLocalizer (ака распределенного кэша). Spark сначала загружает файлы в HDFS, а затем рабочие узлы могут обрабатывать загружаемую банку при необходимости из HDFS. У локализатора есть некоторые проверки только загрузите банку, когда она была изменена или удалена из рабочего стола , поэтому она может повторно использовать банку и не загружать ее снова, если он все еще существует локально.