Lancement du serveur d'historique Spark - AWS Glue

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Lancement du serveur d'historique Spark

Vous pouvez utiliser un serveur d’historique Spark pour visualiser les journaux Spark sur votre propre infrastructure. Vous pouvez voir les mêmes visualisations dans la AWS Glue console pour les exécutions de AWS Glue tâches sur les versions AWS Glue 4.0 ou ultérieures avec des journaux générés au format standard (plutôt qu'ancien). Pour de plus amples informations, veuillez consulter Surveillance des tâches à l'aide de l'interface utilisateur web Apache Spark.

Vous pouvez lancer le serveur d'historique Spark à l'aide d'un AWS CloudFormation modèle hébergeant le serveur sur une EC2 instance, ou le lancer localement à l'aide de Docker.

Lancement du serveur d'historique Spark et affichage de l'interface utilisateur de Spark à l'aide de AWS CloudFormation

Vous pouvez utiliser un AWS CloudFormation modèle pour démarrer le serveur d'historique Apache Spark et afficher l'interface utilisateur Web de Spark. Ces modèles sont des exemples que vous devez modifier pour répondre à vos besoins.

Pour démarrer le serveur d'historique Spark et afficher l'interface utilisateur de Spark à l'aide de AWS CloudFormation
  1. Choisissez l'un des boutons Launch Stack (Lancer la pile) du tableau suivant. Cela lance la pile sur la AWS CloudFormation console.

    Région Lancer
    USA Est (Ohio) Orange button labeled "Launch Stack" with an arrow icon.
    USA Est (Virginie du Nord) Orange button labeled "Launch Stack" with an arrow icon.
    USA Ouest (Californie du Nord) Orange button labeled "Launch Stack" with an arrow icon.
    USA Ouest (Oregon) Orange button labeled "Launch Stack" with an arrow icon.
    Afrique (Le Cap) Orange button labeled "Launch Stack" with an arrow icon.
    Asie-Pacifique (Hong Kong) Orange button labeled "Launch Stack" with an arrow icon.
    Asia Pacific (Mumbai) Orange button labeled "Launch Stack" with an arrow icon.
    Asie-Pacifique (Osaka) Orange button labeled "Launch Stack" with an arrow icon.
    Asia Pacific (Seoul) Orange button labeled "Launch Stack" with an arrow icon.
    Asie-Pacifique (Singapour) Orange button labeled "Launch Stack" with an arrow icon.
    Asie-Pacifique (Sydney) Orange button labeled "Launch Stack" with an arrow icon.
    Asie-Pacifique (Tokyo) Orange button labeled "Launch Stack" with an arrow icon.
    Canada (Centre) Orange button labeled "Launch Stack" with an arrow icon.
    Europe (Francfort) Orange button labeled "Launch Stack" with an arrow icon.
    Europe (Irlande) Orange button labeled "Launch Stack" with an arrow icon.
    Europe (Londres) Orange button labeled "Launch Stack" with an arrow icon.
    Europe (Milan) Orange button labeled "Launch Stack" with an arrow icon.
    Europe (Paris) Orange button labeled "Launch Stack" with an arrow icon.
    Europe (Stockholm) Orange button labeled "Launch Stack" with an arrow icon.
    Moyen-Orient (Bahreïn) Orange button labeled "Launch Stack" with an arrow icon.
    Amérique du Sud (São Paulo) Orange button labeled "Launch Stack" with an arrow icon.
  2. Sur la page Specify template (Spécifier un modèle), choisissez Next (Suivant).

  3. Sur la page Specify stack details (Spécifier les détails de la pile), entrez le nom de la pile (Stack name). Saisissez des informations supplémentaires sous Paramètres.

    1. Configuration de l'interface utilisateur Spark

      Saisissez les informations suivantes :

      • IP address range (Plage d'adresses IP) – Plage d'adresses IP pouvant être utilisée pour afficher l'interface utilisateur Spark. Pour limiter l'accès à partir d'une plage d'adresses IP spécifique, vous devez utiliser une valeur personnalisée.

      • History server port (Historique du serveur) – Port de l'interface utilisateur Spark. Vous pouvez utiliser la valeur par défaut.

      • Répertoire des journaux d'événements : choisissez l'emplacement où les journaux d'événements Spark sont stockés dans AWS Glue points de terminaison d'emploi ou de développement. Vous devez utiliser s3a:// pour le schéma de chemin des journaux d'événements.

      • Spark package location (Emplacement du package Spark) – Vous pouvez utiliser la valeur par défaut.

      • Keystore path (Chemin du KeyStore) – Chemin d'accès du magasin de clés SSL/TLS pour HTTPS. Si vous souhaitez utiliser un fichier de magasin de clés personnalisé, vous pouvez spécifier le chemin S3 s3://path_to_your_keystore_file ici. Si vous laissez ce paramètre vide, un magasin de clés auto-signé basé sur un certificat est généré et utilisé.

      • Mot de passe KeyStore — Saisissez le mot de passe du magasin de clés SSL/TLS pour HTTPS.

    2. EC2 configuration de l'instance

      Saisissez les informations suivantes :

      • Type d'instance : type d' EC2 instance Amazon hébergeant le serveur d'historique Spark. Étant donné que ce modèle lance une EC2 instance Amazon sur votre compte, les EC2 frais Amazon seront facturés séparément sur votre compte.

      • Latest AMI ID (Dernier ID AMI) – ID AMI d'Amazon Linux 2 pour l'instance du serveur d'historique Spark. Vous pouvez utiliser la valeur par défaut.

      • VPC ID (ID VPC) – ID du cloud privé virtuel (VPC) pour l'instance du serveur d'historique Spark. Vous pouvez utiliser n'importe lequel des éléments VPCs disponibles dans votre compte. Il n'est pas recommandé d'utiliser un VPC par défaut avec une ACL réseau par défaut. Pour plus d'informations, veuillez consulter les rubriques VPC par défaut et sous-réseaux par défaut et Créer un VPC dans le Guide de l'utilisateur Amazon VPC.

      • Subnet ID (ID de sous-réseau) – ID de l'instance du serveur d'historique Spark. Vous pouvez utiliser n'importe quel sous-réseau de votre VPC. Vous devez être en mesure d'atteindre le réseau depuis votre client vers le sous-réseau. Pour y accéder via Internet, vous devez utiliser un sous-réseau public dont la table de routage comporte la passerelle Internet.

    3. Choisissez Suivant.

  4. Sur la page Configurer les options de la pile, pour utiliser les informations d'identification utilisateur actuelles afin de déterminer CloudFormation comment créer, modifier ou supprimer des ressources dans la pile, choisissez Next. Vous pouvez également spécifier un rôle dans la section Autorisations à utiliser au lieu des autorisations utilisateur actuelles, puis choisissez Suivant.

  5. Sur la page Review (Révision), vérifiez le modèle.

    Sélectionnez Je reconnais que cela AWS CloudFormation pourrait créer des ressources IAM, puis choisissez Create stack.

  6. Attendez que la pile soit créée.

  7. Ouvrez l'onglet Sorties.

    1. Copiez l'URL de SparkUiPublicUrlsi vous utilisez un sous-réseau public.

    2. Copiez l'URL de SparkUiPrivateUrlsi vous utilisez un sous-réseau privé.

  8. Ouvrez un navigateur web et collez-y l'URL. Cela vous permet d'accéder au serveur à l'aide de HTTPS sur le port spécifié. Votre navigateur peut ne pas reconnaître le certificat du serveur ; dans ce cas, vous devez outrepasser sa protection et continuer tout de même.

Lancement du serveur d'historique Spark et affichage de l'interface utilisateur Spark à l'aide de Docker

Si vous préférez un accès local (ne pas avoir d' EC2 instance pour le serveur d'historique Apache Spark), vous pouvez également utiliser Docker pour démarrer le serveur d'historique Apache Spark et afficher l'interface utilisateur de Spark localement. Ce fichier Dockerfile est un exemple que vous devez modifier pour répondre à vos besoins.

Prérequis

Pour plus d'informations sur l'installation de Docker sur votre ordinateur portable, consultez la communauté Docker Engine.

Pour démarrer le serveur d'historique Spark et afficher l'interface utilisateur Spark localement à l'aide de Docker
  1. Téléchargez des fichiers depuis GitHub.

    Téléchargez le Dockerfile et depuis pom.xml AWS Glue exemples de code.

  2. Déterminez si vous souhaitez utiliser vos informations d'identification utilisateur ou vos informations d'identification utilisateur fédéré pour accéder à AWS.

    • Pour utiliser les informations d'identification utilisateur actuelles pour accéder AWS, obtenez les valeurs à utiliser pour AWS_ACCESS_KEY_ID et AWS_SECRET_ACCESS_KEY dans la docker run commande. Pour de plus amples informations, veuillez consulter Gestion des clés d’accès pour les utilisateurs IAM dans le Guide de l’utilisateur IAM.

    • Pour utiliser les utilisateurs fédérés SAML 2.0 pour l'accès AWS, obtenez les valeurs pour AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY, et. AWS_SESSION_TOKEN Pour en savoir plus, consultez Requesting temporary security credentials (Demander d'informations d'identification temporaires de sécurité).

  3. Déterminez l'emplacement de votre répertoire de journaux d'événements, à utiliser dans la commande docker run.

  4. Créez l'image Docker à l'aide des fichiers du répertoire local, en utilisant le nom glue/sparkui et l'identification latest.

    $ docker build -t glue/sparkui:latest .
  5. Créez et démarrez le conteneur Docker.

    Dans les commandes suivantes, utilisez les valeurs obtenues précédemment aux étapes 2 et 3.

    1. Pour créer le conteneur Docker à l'aide de vos informations d'identification utilisateur, utilisez une commande similaire à ce qui suit :

      docker run -itd -e SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.logDirectory=s3a://path_to_eventlog -Dspark.hadoop.fs.s3a.access.key=AWS_ACCESS_KEY_ID -Dspark.hadoop.fs.s3a.secret.key=AWS_SECRET_ACCESS_KEY" -p 18080:18080 glue/sparkui:latest "/opt/spark/bin/spark-class org.apache.spark.deploy.history.HistoryServer"
    2. Pour créer le conteneur Docker à l'aide d'informations d'identification temporaires, utilisez org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider en tant que fournisseur, et fournissez les valeurs d'identification obtenues à l'étape 2. Pour plus d'informations, consultez la section Utilisation des informations d'identification de session avec un AWSCredentials fournisseur temporaire dans la documentation Hadoop : intégration avec Amazon Web Services.

      docker run -itd -e SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.logDirectory=s3a://path_to_eventlog -Dspark.hadoop.fs.s3a.access.key=AWS_ACCESS_KEY_ID -Dspark.hadoop.fs.s3a.secret.key=AWS_SECRET_ACCESS_KEY -Dspark.hadoop.fs.s3a.session.token=AWS_SESSION_TOKEN -Dspark.hadoop.fs.s3a.aws.credentials.provider=org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider" -p 18080:18080 glue/sparkui:latest "/opt/spark/bin/spark-class org.apache.spark.deploy.history.HistoryServer"
    Note

    Ces paramètres de configuration proviennent du Hadoop-AWS Modules. Il se peut que vous ayez besoin d'ajouter une configuration spécifique en fonction des cas d'utilisation. Par exemple : les utilisateurs des régions isolées devront configurer le spark.hadoop.fs.s3a.endpoint.

  6. Ouvrez http://localhost:18080 dans votre navigateur pour afficher localement l'interface utilisateur Spark.