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.
Rubriques
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
-
Choisissez l'un des boutons Launch Stack (Lancer la pile) du tableau suivant. Cela lance la pile sur la AWS CloudFormation console.
-
Sur la page Specify template (Spécifier un modèle), choisissez Next (Suivant).
-
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.
-
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.
-
-
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.
-
-
Choisissez Suivant.
-
-
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.
-
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.
-
Attendez que la pile soit créée.
-
Ouvrez l'onglet Sorties.
-
Copiez l'URL de SparkUiPublicUrlsi vous utilisez un sous-réseau public.
-
Copiez l'URL de SparkUiPrivateUrlsi vous utilisez un sous-réseau privé.
-
-
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
-
Téléchargez des fichiers depuis GitHub.
Téléchargez le Dockerfile et depuis
pom.xml
AWS Glue exemples de code. -
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
etAWS_SECRET_ACCESS_KEY
dans ladocker 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_ID
AWS_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é).
-
-
Déterminez l'emplacement de votre répertoire de journaux d'événements, à utiliser dans la commande
docker run
. -
Créez l'image Docker à l'aide des fichiers du répertoire local, en utilisant le nom
glue/sparkui
et l'identificationlatest
.$ docker build -t glue/sparkui:latest .
-
Créez et démarrez le conteneur Docker.
Dans les commandes suivantes, utilisez les valeurs obtenues précédemment aux étapes 2 et 3.
-
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" -
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 temporairedans 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
. -
-
Ouvrez
http://localhost:18080
dans votre navigateur pour afficher localement l'interface utilisateur Spark.