Perché non riesco a visualizzare gli eventi o i log della cronologia di Apache Spark tramite l'interfaccia utente Web di Spark in Amazon EMR?

4 minuti di lettura
0

Non riesco a visualizzare gli eventi o i log della cronologia di Apache Spark tramite l'interfaccia utente Web di Spark in Amazon EMR.

Breve descrizione

Puoi visualizzare il server della cronologia di Spark su Amazon EMR utilizzando quanto segue:

  • Accesso al di fuori del cluster alle interfacce utente delle applicazioni persistenti (a partire da EMR 5.25.0).
  • Interfacce utente dell'applicazione sul cluster configurando un proxy Web tramite una connessione SSH.

Risoluzione

Non riesco a visualizzare gli eventi della cronologia di Spark utilizzando l'interfaccia utente o il server della cronologia di Spark persistente al di fuori del cluster

Gli eventi del server della cronologia di Spark persistente non sono accessibili nei cluster EMR che dispongono di quanto segue:

  • Più nodi principali.
  • Cluster EMR integrati con AWS Lake Formation.
  • La directory predefinita è stata cambiata da HDFS a un altro file system, ad esempio Amazon Simple Storage Service (Amazon S3).

Per ulteriori informazioni, consulta la sezione Visualizzazione delle interfacce utente delle applicazioni permanenti - Considerazioni e limitazioni.

Nota: il server della cronologia di Spark persistente non è adatto per i test di carico o per visualizzare migliaia di applicazioni Spark in esecuzione in parallelo. Per i test di carico o per visualizzare molte applicazioni, usa il server della cronologia di Spark sul cluster.

Non riesco a visualizzare gli eventi della cronologia di Spark utilizzando l'interfaccia utente o il server della cronologia di Spark sul cluster

Gli eventi del server della cronologia di Spark sul cluster non sono accessibili se salvi gli eventi di Spark in un bucket S3 su versioni di Amazon EMR precedenti alla 6.3* e alla 5.30. Il server della cronologia di Spark in queste versioni di Amazon EMR non dispone del file JAR emrfs-hadoop-assembly necessario per accedere ai bucket S3. Senza questo file JAR, quando si tenta di accedere agli eventi del server della cronologia di Spark viene visualizzato il seguente errore:

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

Per evitare questo errore, utilizza la seguente configurazione del cluster. Questa configurazione aggiunge il file JAR emrfs-hadoop-assembly richiesto al classpath del server della cronologia di 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": {}
  }
]

Nelle versioni di EMR 6.x (fino alla 6.3), l'impostazione della directory del log degli eventi di Spark su S3 durante l'avvio del cluster senza emrfs-hadoop-assembly causa la terminazione del cluster. Apportare modifiche dopo che il cluster è in esecuzione potrebbe causare il ripristino delle modifiche alla configurazione.

Nota: questa soluzione alternativa non è necessaria per le versioni di Amazon EMR successive alla 6.3 e alla 5.30 perché il file JAR richiesto viene aggiunto per impostazione predefinita alla cartella /usr/lib/spark/jars/.

Tieni presente che il server della cronologia di Spark non mostra le applicazioni nell'elenco incompleto delle applicazioni quando gli eventi Spark vengono scritti su S3. Inoltre, se il contesto di Spark viene chiuso in modo errato, i log degli eventi non vengono caricati correttamente su S3.

Non riesco a visualizzare gli eventi della cronologia di Spark per il mio cluster che si trova in una sottorete privata

Se utilizzi una sottorete privata per il cluster, assicurati che la policy degli endpoint di Amazon Virtual Private Cloud (Amazon VPC) per la sottorete privata sia corretta. La policy degli endpoint VPC deve includere arn:aws:s3:::prod.MyRegion.appinfo.src/* nell'elenco delle risorse di S3. Per ulteriori informazioni, consulta la pagina Policy Amazon S3 minima per sottorete privata.

Ricevo l'errore "NET:ERR_CERT_COMMON_NAME_INVALID" dopo aver attivato la crittografia in transito sull'interfaccia utente Spark

Questo errore è causato da un problema di convalida del certificato del browser. Se utilizzi Mozilla Firefox, vedrai un'opzione per accettare il rischio e continuare a utilizzare il certificato. In Google Chrome, inserisci thisisunsafe nella pagina di avviso in modo che Chrome salti la convalida del certificato.


AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa