web-dev-qa-db-fra.com

Comment trouver l'URL principale d'un cluster à étincelles existant

Actuellement, je lance mon programme en tant que

val conf = new SparkConf()
  .setAppName("Test Data Analysis")
  .setMaster("local[*]")
  .set("spark.executor.memory", "32g")
  .set("spark.driver.memory", "32g")
  .set("spark.driver.maxResultSize", "4g")

Même si je travaille sur un cluster de 5 machines (chacune avec 376 Go de RAM physique). mes erreurs de programme avec Java.lang.OutOfMemoryError: Java heap space

Mes données sont volumineuses ... mais pas si grandes qu'elles dépassent 32 Go de mémoire Executor * 5 noeuds.

Je soupçonne que c'est peut-être parce que j'utilise "local" comme maître. J'ai vu la documentation dire utiliser spark://machinename:7070

Cependant, je veux savoir pour mon cluster ... comment puis-je déterminer cette URL et ce port

EDIT: Je vois que la documentation parle d’exécuter quelque chose appelé "spark-master.sh" afin de créer un nœud en tant que maître.

dans mon cas, le cluster à étincelles a été configuré/géré par quelqu'un d'autre et je ne souhaite donc pas modifier la topologie en démarrant mon propre maître.

Comment puis-je interroger et savoir quel nœud est le maître existant. 

J'ai déjà essayé de choisir un nœud aléatoire dans le cluster, puis d'essayer «spark: // node: 7077» mais cela ne fonctionne pas et donne une erreur.

[15/11/03 20:06:21 WARN AppClient$ClientActor: Could not connect to
 akka.tcp://sparkMaster@node:7077: 
akka.remote.EndpointAssociationException: Association failed with 
[akka.tcp://sparkMaster@node:7077]
23
Knows Not Much

J'ai trouvé que faire --master yarn-cluster fonctionnait mieux. Cela garantit que spark utilise tous les nœuds du cluster hadoop.

11
Knows Not Much

Vous êtes sur place. .setMaster("local[*]") lancera spark en mode autonome. Dans ce mode, spark ne peut utiliser que les ressources de la machine locale.

Si vous avez déjà configuré un cluster à étincelles au-dessus de votre cluster physique. La solution est simple: vérifiez http://master:8088 où le maître pointe vers la machine principale. Vous pouvez y voir l'URI du maître des étincelles et, par défaut, spark://master:7077

Cependant, je vois beaucoup de questions sur SO affirmant que cela ne fonctionne pas pour de nombreuses raisons différentes. L'utilisation de l'utilitaire spark-submit est simplement moins sujette aux erreurs, See usage .

Mais si vous n'avez pas encore de cluster à étincelles, je vous suggère de commencer par installer un cluster Spark Standalone .

10
mehmetminanc

Pour afficher le nœud principal dans spark DSE (Datastax) à l'aide de Shell

dse client-tool spark leader-address
0
Aman Goel

utilisez la commande pour obtenir les informations sur l'URL sc.uiWebUrl

0
subhrajit mohanty