Разница между режимом клиента и кластера в искре - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь понять два режима развертывания, Client and Cluster

Видел этот и другие ответы https://stackoverflow.com/questions/37027732/apache-spark-differences-between-client-and-cluster-deploy-modes, но не получил четкого видения.

Представьте, это 5 узлов кластер, включая главный узел. И Yarn - это что-то, что отвечает за взаимодействие всех рабочих узлов и указание всем рабочим узлам использовать, сколько ресурсов они могут использовать. Допустим, он работает по URL-адресу IamYarn:100.com на главном узле (MasterNode.com).

Программа драйвера, также известная как инициализация SparkContext + SparkConf. После инициализации конечным результатом будет resource information which will be used by all worker nodes и Operator graph, что имеет последовательность преобразований и действий. Дальнейший график разбивается на разные этапы (каждый этап представляет собой одно RDD), и каждый этап планируется как задача в Task Scheduler. Итак, выведите программу Driver, которая представляет собой не что иное, как набор всех инструкций из нашей программы Spark, и запланируйте ее в диспетчере задач.

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

Надеюсь, мои знания пока верны.

ClientMode: Драйвер выполняется на выделенном сервере (главном узле) внутри выделенного процесса, а ClusterMode: Driver - на одном из рабочих узлов кластера. Почему требуются эти два типа режимов, программа Can't Driver всегда работает только на главном узле? И укажите c причину отличия?

...