Sistema de arquitetura Spark

O modo StandAlone é o modo de operação do cluster que acompanha o Spark, não depende de outros frameworks de agendamento de recursos e é fácil de implantar.

O modo StandAlone é dividido em modo cliente e modo cluster. A diferença essencial é onde o Driver roda. Se o Driver rodar no processo SparkSubmit, é o modo Cliente. Se o Driver rodar no cluster, é o modo Cluster.

modo cliente independente

modo de cluster independente

Modo de cluster Spark On YARN

Introdução ao processo de execução do Spark

  • Job: Cada operação de ação do RDD irá gerar um ou mais estágios de escalonamento Fase de escalonamento (Stage): Cada job será dividido em Shuffle Map Stage e Result Stage de acordo com a relação de dependência e o processo Shuffle. Cada estágio corresponde a um TaskSet, um Task contém vários Tasks, e o número de TaskSets é igual ao número de partições do último RDD deste estágio.
  • Tarefa: A tarefa de trabalho distribuída ao Executor é a menor unidade de execução do Spark
  • DAGScheduler: DAGScheduler divide o DAG em estágios com base em amplas dependências, é responsável por dividir os estágios de agendamento e converte estágios em TaskSets e os envia para TaskScheduler
  • TaskScheduler: o TaskScheduler agenda a tarefa para o processo Executor no Worker e, em seguida, a lança no pool de threads do Executor para execução

Papel importante no Spark

  • Master: É um processo Java que recebe as informações cadastrais e heartbeat do Worker, remove Workers com timeouts anormais, recebe tarefas enviadas por clientes, é responsável pelo escalonamento de recursos e ordena que os Workers iniciem o Executor.
  • Worker: É um processo Java responsável por gerenciar o gerenciamento de recursos do nó atual, registrar-se no Master e enviar heartbeats periodicamente, iniciar o Executor e monitorar o status do Executor.
  • SparkSubmit: É um processo Java responsável por enviar tarefas ao Mestre.
  • Driver: É um termo geral para muitas classes. Você pode pensar em SparkContext como Driver. O driver em modo cliente roda no processo SparkSubmit, e o modo cluster roda em um processo sozinho. Ele é responsável por converter o código escrito pelo usuário em Tarefas e, em seguida, despachá-lo para o Executor para execução Monitorar o status e o progresso da execução da Tarefa.
  • Executor: É um processo Java, responsável por executar a Tarefa gerada pelo lado do Driver, e colocar a Tarefa em uma thread para rodar.

Comparação dos papéis Spark e Yarn

Acho que você gosta

Origin blog.csdn.net/qq_61162288/article/details/131586049
Recomendado
Clasificación