Quelles sont les conditions de cluster déployer mode d'être utilisé à la place du client?
La doc https://spark.apache.org/docs/1.1.0/submitting-applications.html
décrit déployer-mode :
--deploy-mode: Whether to deploy your driver on the worker nodes (cluster) or locally as an external client (client) (default: client)
À l'aide de ce diagramme fig1
comme un guide (prises de http://spark.apache.org/docs/1.2.0/cluster-overview.html) :
Si j'ai le coup d'envoi d'une Étincelle d'emploi :
./bin/spark-submit \
--class com.driver \
--master spark://MY_MASTER:7077 \
--executor-memory 845M \
--deploy-mode client \
./bin/Driver.jar
Puis le Driver Program
sera MY_MASTER
comme spécifié dans fig1
MY_MASTER
Si j'utilise à la place --deploy-mode cluster
puis le Driver Program
seront partagés entre les Nœuds du Travailleur ? Si cela est vrai, alors cela signifie que le Driver Program
boîte en fig1
peuvent être supprimés (comme il n'est plus utilisé) comme le SparkContext
seront également partagés entre les nœuds du travailleur ?
Quelles sont les conditions à cluster
être utilisé à la place de client
?
Vous devez vous connecter pour publier un commentaire.
Non, lors de déployer mode est
client
, le Pilote n'est pas nécessairement le nœud maître. Vous pouvez exécuter l'étincelle présenter sur votre ordinateur portable, et le Pilote de Programme s'exécuter sur votre ordinateur portable.Au contraire, lorsque le déploiement est en mode
cluster
, puis gestionnaire de cluster (master node) est utilisé pour trouver un esclave avoir assez de ressources disponibles pour exécuter le Programme Pilote. En conséquence, le Pilote de Programme s'exécuter sur l'un des nœuds esclaves. Que son exécution est déléguée, vous ne pouvez pas obtenir le résultat de Pilote de Programme, il doit stocker les résultats dans un fichier, base de données, etc.Je pense que cela peut vous aider à comprendre.Dans le document https://spark.apache.org/docs/latest/submitting-applications.html
Il dit: "Une commune de la stratégie de déploiement est de soumettre votre application à partir d'un ordinateur de la passerelle qui est physiquement co-localisé avec votre travailleur machines (par exemple Master nœud autonome EC2 cluster). Dans cette configuration, en mode client est approprié. En mode client, le pilote est lancé directement dans l'étincelle soumettre processus qui agit comme un client pour le cluster. L'entrée et la sortie de l'application est connectée à la console. Ainsi, ce mode est particulièrement adapté pour les applications qui impliquent le REPL (par exemple Étincelle shell).
Alternativement, si votre demande est présentée à partir d'une machine de mesure de la travailleuse machines (par exemple, en local sur votre ordinateur portable), il est courant d'utiliser le mode cluster afin de minimiser la latence du réseau entre les pilotes et les exécuteurs testamentaires. Notez que le mode cluster est actuellement pas pris en charge pour Mesos de clusters ou de Python applications."
Ce sujet HADR?