Поиск…


Исправлено поведение клиента Spark и Cluster

Попробуем посмотреть на различия между клиентским и кластерным режимами Spark.

Клиент : при запуске Spark в клиентском режиме программа SparkContext и Driver запускается вне кластера; например, с вашего ноутбука. Локальный режим предназначен только для случая, когда вы не хотите использовать кластер и вместо этого хотите запускать все на одной машине. Таким образом, приложение-драйвер и приложение Spark находятся на том же компьютере, что и пользователь. Драйвер запускается на выделенном сервере (главный узел) внутри выделенного процесса. Это означает, что у него есть все доступные ресурсы для выполнения работы. Поскольку главный узел имеет собственные ресурсы, вам не нужно «тратить» рабочие ресурсы на программу Driver. Если процесс драйвера умирает, вам нужна внешняя система мониторинга, чтобы сбросить его выполнение.

Кластер: Драйвер работает на одном из рабочих узлов кластера. Он работает как отдельный автономный процесс внутри Рабочего. При работе в режиме кластеров все JAR, связанные с исполнением вашего приложения, должны быть общедоступными для всех работников. Это означает, что вы можете вручную разместить их в общем месте или в папке для каждого из рабочих. Каждое приложение получает свои собственные процессы-исполнители, которые остаются на время всего приложения и запускают задачи в нескольких потоках. Это имеет преимущество изолировать приложения друг от друга, как на стороне планирования (каждый драйвер планирует свои собственные задачи), так и на стороне исполнителя (задачи из разных приложений выполняются в разных JVM-системах

Типы диспетчера кластеров

Apache Mesos - общий менеджер кластеров, который также может запускать Hadoop MapReduce и сервисные приложения. Hadoop YARN - менеджер ресурсов в Hadoop.
Кубернетес - контейнер-ориентированная инфраструктура. Это экспериментально.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow