TL;DR: Dans une Étincelle Autonome cluster, quelles sont les différences entre le client et le cluster de déployer des modes? Comment puis-je régler le mode mon application va s'exécuter sur?
Nous avons une Étincelle Autonome cluster avec trois machines, toutes avec Spark 1.6.1:
- Un maître de la machine, qui est aussi là que notre application est exécutée à l'aide de
spark-submit
- 2 identiques travailleur machines
À partir de l' Étincelle de la Documentation, j'ai lu:
(...) Pour les clusters, l'Étincelle prend actuellement en charge les deux déployer des modes. En mode client, le pilote est lancé dans le même processus que le client qui fait la demande. En mode cluster, cependant, le pilote est lancé à partir de l'un des processus de travail à l'intérieur du cluster, et le client, le processus s'arrête dès qu'il s'acquitte de sa responsabilité de dépôt de la demande, sans attendre l'application de la finition.
Cependant, je ne comprends pas vraiment les différences pratiques par cette lecture, et je ne comprends pas quels sont les avantages et les inconvénients des différentes déployer des modes.
De plus, lorsque je démarre mon application en utilisant les start-se soumettre, même si j'ai mis la propriété spark.submit.deployMode
de "cluster", l'Étincelle de l'INTERFACE utilisateur pour mon contexte affiche l'entrée suivante:
Je ne suis donc pas en mesure de tester les deux modes pour voir les différences pratiques. Cela dit, mes questions sont les suivantes:
1) Quelles sont les différences concrètes entre Étincelle Autonome client déployer mode et du cluster de déployer mode? Quels sont les avantages et les inconvénients de l'utilisation de chacun?
2) Comment puis-je choisir celui que ma demande va être en cours d'exécution, à l'aide d' spark-submit
?