Une architecture Spark et mode de fonctionnement

Tout d'abord, quelle est la Spark

Spark est calculée sur la base de la mémoire de trame.

Deux, fond généré Spark

raisons générées par Spark principalement pour résoudre les inconvénients de Hadoop, il y a une ligne de temps peut être tirée Spark de naissance.

1, Hadoop 1.x-- 2011 Nian

Insérer ici l'image Description

(Architecture 1.x Hadoop)

Insérer ici l'image Description

(Architecture 1.x Hadoop MapReduce)

Hadoop1.x officiellement publié en 2011, cette fois avec beaucoup de gens, mais après un certain temps, on a découvert que la présence de problèmes 1.x Hadoop (principalement MapReduce problèmes):

1, MapReduce est calculé en fonction de l'ensemble de données: toujours lire à partir du fichier de disque, puis calculé dernier écrit sur le disque, une tâche est fermée. Il semble qu'il n'y a pas de problème, mais avec la nécessité, nous devons traiter les données en temps réel, les données en continu, les données cartographiques, de plus en lire plus souvent le mapreuduce disque apparemment assez vite, donc nous voulons introduire un nouveau calcul façons de résoudre ce problème. Mais - (voir 2)

2, dans le temps 1.x Hadoop, MapReduce pas responsable du calcul, il est également responsable de la planification des tâches et des ressources, la planification des ressources et calcul couplé étroitement ensemble, mais seulement si nous voulons changer le cadre de calcul est clairement impossible pas de planification des ressources comment allouer les ressources informatiques?

2, dans le temps 1.x Hadoop, MapReduce dans un processus appelé JobTracker, JobTracker qui est responsable de la planification des ressources, et responsable de la planification des tâches, et les hommes JobTracker un processus appelé TaskTracker, ce processus est responsable du calcul, où le JobTracker la charge est trop lourde tâche, étroitement couplée.

Les gens ne peuvent pas supporter cette fois le problème de 1.x Hadoop, il a été l'étincelle née.

2, Spark de naissance - Juin 2013

Spark est né MapReduce pour résoudre les problèmes mentionnés ci-dessus, afin de résoudre le problème de la lenteur, il a adopté la stratégie de calcul basée sur la mémoire, et prend en charge le calcul itératif, couplage afin de résoudre le problème, la planification des ressources Spark et la planification des tâches la séparation des phases:

Insérer ici l'image Description

(Architecture Spark)

Les éléments dans les chiffres expliqués:

Maître: responsable de la planification des ressources

Master Application: responsable de la planification des tâches, le pilote réalisé par un mécanisme et une partie maître de la communication, le pilote est pas le maître, le maître est seul responsable de la planification des ressources, depuis la naissance de l'étincelle dans le temps, il n'y a pas YARN, donc il est utilisé propre planificateur de ressources, appelé le maître, après YARN, le pilote peut se connecter à l'ordre de ResouceManager Yarn au lieu de Maître.

Travailleur: est responsable de la planification et de calcul des ressources sur le nœud de table

Exécuteur: responsable de l'exécution des calculs

Peut être vu de la figure: le travailleur est directement relié au Maître, il est directement connecté avec le pilote Exécuteur

Ainsi, vous pouvez voir, deux architecture Spark est le concept le plus important est le conducteur et Exécuteur, parce que seulement deux il est irremplaçable.

3, Hadoop 2.x-- 2013 Nian 11 Yue

Insérer ici l'image Description

Dans Hadoop 2.x, l'introduction de fils, il est YARN, a été sauvé Hadoop, l'YARN planification des ressources, la planification des tâches et le calcul de la séparation des phases.

Insérer ici l'image Description

Il y a deux grands éléments de dessin, le ResourceManager est l'un, on est NodeManager.

ResourceManager: vous pouvez voir, ResourceManager est responsable de la gestion des ressources et de planification, plus un début ApplicationMaster, Remarque: Le calendrier est ici pur ordonnancement des ressources ne concerne pas la planification des tâches, la planification des tâches doit être fait dans le AM.

** NodeManager: ** ressource NodeManager et gestionnaire de tâches sur chaque nœud, remplir les fonctions de calcul NodeManager ci-dessus.

** ApplicationMaster: RM ** responsable d'une demande de financement, lancer des tâches de surveillance. Lorsque les utilisateurs soumettent leurs travaux à la ResourceManager, RM trouvera le premier disponible NM, dans lequel l'attribution d'un conteneur, qui a commencé en AM, AM est pas fixe, mais change en fonction de la demande de l'utilisateur, si vous soumettez la tâche de M., il est à propos de M. AM , si elle est Spark, si AM est sur le Spark.

Container: Container est une abstraction des ressources, comme nous dans la machine virtuelle du système Windows, la machine virtuelle peut utiliser l' Explorateur Windows, cela peut démarrer Linux ou Mac sur les ressources, aussi dans le conteneur YARN, nous pouvons début MapReduce ou tâche Spark.

Pour comprendre ce que le rôle de ces éléments sont principalement ont encore à comprendre l'ensemble du cadre de workflow.

En résumé, YARN ne comprennent le couplage, nous venons tout juste un cadre de calcul, tant que le AM ​​et la tâche dans leurs propres choses, vous pouvez exécuter sur Hadoop 2.0. Il est vraiment fort!

Trois, flux de travail Spark sur le fil

[Décharge image en dehors de la chaîne échoue, la station source peut avoir un mécanisme de chaîne de sécurité, il est recommandé d'enregistrer les images téléchargées directement vers le bas (img-2kXok9CM-1583725096217) (C: \ Users Dell \ AppData \ Roaming \ Typora \ typora-user-images \ image 20200307124214254.png)]

A travers le résumé ci-dessus, nous voyons Spark seul mode de fonctionnement et de la structure est très similaire YARN, Spark seul pilote équivalent à AM, Master est équivalent à RM, travailleur NM équivalent, Exécuteur est équivalent à la tâche.

Si nous voulons lancer Spark à Hadoop 2.0, le Spark juste besoin de mettre l'application pilote au YARN, dans le Spark YARN du Exécuteur tâche peut.

Trois, deux éléments importants Spark

Insérer ici l'image Description

Après la naissance de YARN, le planificateur de ressources de Spark peut être ResourceManager ou Master, tandis que le Spark travailleur peut être le travailleur ou dans NodeManager YARN, et ces deux sont remplaçables, donc, dans Spark le noyau des deux composants est le conducteur et l'exécuteur.

1, Conducteur

Conducteur est en train de développer la méthode principale du programme.

2, l'exécuteur

Exécuteur est un processus de travail, responsable des tâches en cours d'exécution dans les emplois Spark, des tâches indépendantes les unes des autres.

Quatre, le modèle de déploiement Spark

1, locale

tâche d'étincelle pour exécuter localement, [k] représente locale les fils k commencent à courir, local [*] au nom de tous les fils commencent à courir.

2, autonome

Indépendamment exécution sur un cluster.

3, le fil

Fonctionnant sur un système de gestion des ressources, tels que les fils et mesos.

Exécuter, local [*] au nom de tous les fils commencent à courir.

2, autonome

Indépendamment exécution sur un cluster.

3, le fil

Fonctionnant sur un système de gestion des ressources, tels que les fils et mesos.

Publié 42 articles originaux · louange gagné 3 · Vues 2065

Je suppose que tu aimes

Origine blog.csdn.net/stable_zl/article/details/104748981
conseillé
Classement