web-dev-qa-db-fra.com

Spark UI sur AWS EMR

J'exécute un cluster AWS EMR avec Spark (1.3.1) installé via la liste déroulante de la console EMR. Spark correspond aux données actuelles et en cours de traitement, mais j'essaie de trouver le port qui a été attribué à l'interface Web. J'ai essayé de transférer des ports à la fois 4040 et 8080 sans connexion.

ssh -i ~/KEY.pem -L 8080:localhost:8080 hadoop@EMR_DNS

1) Comment puis-je savoir ce qu'est le port assigné de la Spark WebUI? 2) Comment puis-je vérifier que la Spark WebUI fonctionne)?

15
gallamine

Spark sur EMR est configuré pour YARN, donc l'interface utilisateur Spark est disponible par l'URL de l'application fournie par le gestionnaire de ressources YARN ( http://spark.Apache.org/docs/ latest/monitoring.html ). Donc, le moyen le plus simple d'y accéder est de configurer votre navigateur avec SOCKS en utilisant un port ouvert par SSH puis à partir de la console EMR ouvrez Resource Manager et cliquez sur l'URL Application Master fournie à droite de l'application en cours d'exécution. Spark Le serveur d'historique est disponible sur le port par défaut 18080.

Exemple de chaussettes avec EMR sur http://docs.aws.Amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-web-interfaces.html

11
ChristopherB

Voici une alternative si vous ne souhaitez pas gérer la configuration du navigateur avec SOCKS comme suggéré dans les documents EMR.

  1. Ouvrez un tunnel ssh vers le nœud maître avec la redirection de port vers la machine exécutant spark ui

    ssh -i path/to/aws.pem  -L 4040:SPARK_UI_NODE_URL:4040 hadoop@MASTER_URL
    

    MASTER_URL (EMR_DNS dans la question) est l'URL du nœud maître que vous pouvez obtenir à partir de la page EMR Management Console pour le cluster

    SPARK_UI_NODE_URL peut être vu près du haut du journal stderr. La ligne de journal ressemblera à quelque chose comme:

    16/04/28 21:24:46 INFO SparkUI: Started SparkUI at http://10.2.5.197:4040
    
  2. Pointez votre navigateur sur localhost: 4040

J'ai essayé cela sur EMR 4.6 exécutant Spark 2.6.1

9
ud3sh

Exécutez simplement la commande suivante:

ssh -i /your-path/aws.pem -N -L 20888:ip-172-31-42-70.your-region.compute.internal:20888 [email protected]

Il y a 3 endroits que vous devez changer:

  1. votre .pem fichier
  2. votre IP de nœud maître interne
  3. votre domaine DNS public.

Enfin, sur l'interface utilisateur de Yarn, vous pouvez cliquer sur votre Spark URL de suivi des applications, puis remplacez simplement l'url:

"http://your-internal-ip:20888/proxy/application_1558059200084_0002/" 

->

"http://localhost:20888/proxy/application_1558059200084_0002/"

Cela a fonctionné pour EMR 5.x

2
DennisLi