Подтвердить что ты не робот

Какой тип кластера я должен выбрать для Spark?

Я новичок в Apache Spark, и я только что узнал, что Spark поддерживает три типа кластера:

  • Автономный - значит, Spark будет управлять собственным кластером
  • YARN - с помощью диспетчера ресурсов Hadoop YARN
  • Проект Mesos - Apache, посвященный управлению ресурсами

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

4b9b3361

Ответ 1

Я думаю, что лучше всего ответить, это те, кто работает на Spark. Итак, из Learning Spark

Начните с автономного кластера, если это новое развертывание. Автономный режим проще всего настроить и обеспечит почти все те же функции, что и другие администраторы кластера, если вы только работает Spark.

Если вы хотите запустить Spark вместе с другими приложениями или использовать более богатые возможности планирования ресурсов (например, очереди), как YARN, так и Эти функции обеспечивают Mesos. Из них YARN, скорее всего, будет предустановлен во многих дистрибутивах Hadoop.

Одним из преимуществ Mesos как для YARN, так и для автономного режима является его мелкозернистый вариант совместного использования, который позволяет интерактивным приложениям так как оболочка Spark уменьшает распределение CPU между командами. Это делает его привлекательным в средах, в которых запуск интерактивных оболочек.

Во всех случаях лучше всего запускать Spark на тех же узлах, что и HDFS для быстрый доступ к хранилищу. Вы можете установить Mesos или автономный менеджер кластера на тех же узлах вручную или большинство Hadoop дистрибутивы уже устанавливают YARN и HDFS вместе.

Ответ 2

Spark Standalone Manager: простой менеджер кластера, включенный в Spark, который упрощает настройку кластера. По умолчанию каждое приложение использует все доступные узлы в кластере.

Несколько преимущества YARN над автономным и мезосом:

  • YARN позволяет динамически совместно использовать и централизованно настраивать один и тот же пул ресурсов кластера между всеми фреймворками, которые работают на YARN.

  • Вы можете использовать все возможности планировщиков YARN для категоризации, выделения и определения приоритетов рабочих нагрузок.

  • В автономном режиме Spark требуется, чтобы каждое приложение запускало исполнителя на каждом node в кластере; тогда как с YARN вы выбираете количество исполнителей для использования

  • YARN напрямую обрабатывает местоположение стойки и машины в ваших запросах, что удобно.

  • Модель запроса ресурсов, как ни странно, обратная в Mesos. В YARN вы (каркас) запрашиваете контейнеры с заданной спецификацией и задаете локальные настройки. В Mesos вы получаете "предложения" ресурсов и выбираете принимать или отклонять те, которые основаны на вашей собственной политике планирования. Модель Mesos является, возможно, более гибкой, но, по-видимому, более эффективной для человека, реализующего инфраструктуру.

  • Если у вас уже есть большой кластер Hadoop, лучше выбрать YARN.

  • Автономный менеджер требует, чтобы пользователь настраивал каждый из узлов с общим секретом. Mesos модуль аутентификации по умолчанию, Cyrus SASL, может быть заменен настраиваемым модулем. YARN имеет защиту для аутентификации, авторизацию уровня обслуживания, аутентификацию для веб-консолей и конфиденциальность данных. Аутентификация Hadoop использует Kerberos для проверки подлинности каждого пользователя и службы Kerberos.

  • Высокая доступность предоставляется всеми тремя диспетчерами кластера, но Hadoop YARN не нуждается в запуске отдельного контроллера отказоустойчивости ZooKeeper.

Полезные ссылки:

spark

agildata статья

Ответ 3

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

Между пряжей и мезосом, одна вещь, которую следует учитывать, заключается в том, что в отличие от mapreduce, искровое задание захватывает исполнителей и удерживает его на протяжении всей работы. где в mapreduce работа может получать и выпускать картографы и редукторы на протяжении всей жизни.

если у вас есть длинные искровые задания, которые в течение всего жизненного цикла работы не полностью используют все ресурсы, которые он получил в начале, вы можете поделиться этими ресурсами с другим приложением и что вы можете выполнять только через Mesos или Динамическое планирование Spark. https://spark.apache.org/docs/2.0.2/job-scheduling.html#scheduling-across-applications Таким образом, с пряжей, только способ имеет динамическое распределение для искры, используя искра, обеспечивающую динамическое распределение. Пряжа не будет мешать этому, пока Месос будет. Опять же, весь этот момент имеет значение только в том случае, если у вас длинное искровое приложение, и вы хотели бы масштабировать его вверх и вниз динамически.