Pourquoi ne puis-je pas consulter les événements ou les journaux de l'historique Apache Spark depuis l'interface utilisateur Web de Spark dans Amazon EMR ?

Lecture de 4 minute(s)
0

Je ne parviens pas à consulter les événements ou les journaux de l'historique Apache Spark depuis l'interface utilisateur Web de Spark dans Amazon EMR.

Brève description

Vous pouvez consulter le serveur d'historique Spark sur Amazon EMR grâce aux :

  • accès hors cluster aux interfaces utilisateur persistantes des applications (à partir d'EMR 5.25.0) ;
  • interfaces utilisateur des applications intégrées au cluster en configurant un proxy Web via une connexion SSH.

Solution

Je ne parviens pas à consulter mes événements d'historique Spark à l'aide de l'interface utilisateur ou du serveur d'historique Spark persistant hors cluster

Les événements du serveur d'historique Spark persistant ne sont pas accessibles sur les clusters EMR qui présentent les caractéristiques suivantes :

  • Plusieurs nœuds principaux
  • Des clusters EMR intégrés à AWS Lake Formation
  • Le répertoire par défaut est passé de HDFS à un autre système de fichiers, tel qu'Amazon Simple Storage Service (Amazon S3)

Pour plus d'informations, consultez Afficher les interfaces utilisateur persistantes des applications - Considérations et restrictions.

Remarque : le serveur d'historique Spark persistant n'est pas adapté aux tests de charge ou à l'affichage de milliers d'applications Spark exécutées en parallèle. Pour effectuer des tests de charge ou afficher de nombreuses applications, utilisez le serveur d'historique Spark intégré au cluster.

Je ne parviens pas à consulter mes événements d'historique Spark à l'aide de l'interface utilisateur ou du serveur d'historique Spark persistant intégré au cluster

Les événements du serveur d'historique Spark intégré au cluster ne sont pas accessibles si vous enregistrez les événements Spark dans un compartiment S3 sur les versions Amazon EMR antérieures aux versions 6.3* et 5.30. Dans ces versions d'Amazon EMR, le serveur d'historique Spark ne contient pas le fichier JAR emrfs-hadoop-assembly requis pour accéder aux compartiments S3. Sans ce fichier JAR, le message d'erreur suivant s'affiche lorsque vous tentez d'accéder aux événements du serveur d'historique Spark :

INFO FsHistoryProvider: History server ui acls disabled; users with admin permissions: ; groups with admin permissions
Exception in thread "main" java.lang.reflect.InvocationTargetException
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class com.amazon.ws.emr.hadoop.fs.EmrFileSystem not found

Pour éviter cette erreur, utilisez la configuration de cluster suivante. Cette configuration ajoute le fichier JAR emrfs-hadoop-assembly requis à la variable classpath du serveur d'historique Spark.

[
  {
    "classification": "spark-defaults",
    "configurations": [],
    "properties": {
      "spark.eventLog.dir": "s3://<yourbucket>/",
      "spark.history.fs.logDirectory": "s3://<yourbucket>/"
    }
  },
  {
    "classification": "spark-env",
    "configurations": [
      {
        "classification": "export",
        "properties": {
          "SPARK_DAEMON_CLASSPATH": "$(ls /usr/share/aws/emr/emrfs/lib/emrfs-hadoop-assembly-*)"
        }
      }
    ],
    "properties": {}
  }
]

Dans EMR version 6.x (jusqu'à la version 6.3), le fait de définir le répertoire des journaux d'événements Spark sur S3 lors du lancement du cluster sans le fichier emrfs-hadoop-assembly entraîne la résiliation du cluster. Toute modification apportée après l'exécution du cluster peut entraîner l'annulation des modifications de configuration.

Remarque : cette solution n'est pas nécessaire pour les versions d'Amazon EMR ultérieures à 6.3 et 5.30, car le fichier JAR requis est ajouté par défaut au dossier /usr/lib/spark/jars/.

Gardez à l'esprit que le serveur d'historique Spark n'affiche pas les applications figurant dans la liste d'applications incomplète lorsque les événements Spark sont indiqués dans S3. De plus, si le contexte Spark n'est pas correctement fermé, les journaux d'événements ne sont pas correctement chargés vers S3.

Je ne parviens pas à consulter l'historique des événements Spark pour mon cluster situé dans un sous-réseau privé

Si vous utilisez un sous-réseau privé pour votre cluster, assurez-vous que la politique de point de terminaison Amazon Virtual Private Cloud (Amazon VPC) pour le sous-réseau privé est correcte. La politique de point de terminaison du VPC doit comprendre arn:aws:s3:::prod.MyRegion.appinfo.src/* dans la liste des ressources de S3. Pour plus d'informations, consultez Politique Amazon S3 minimale relative aux sous-réseaux privés.

Je reçois l'erreur « NET:ERR_CERT_COMMON_NAME_INVALID » après avoir activé le chiffrement en transit sur l'interface utilisateur de Spark

Cette erreur est due à un problème de validation des certificats du navigateur. Si vous utilisez Mozilla Firefox, une option s'affichera vous permettant d'accepter le risque et de continuer à utiliser le certificat. Dans Google Chrome, saisissez thisisunsafe sur la page d'avertissement afin que Chrome ignore la validation du certificat.


AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an
Aucun commentaire