Serveur de données historiques Spark

Les applications Spark qui sont soumises sur une instance IBM Analytics Engine transmettent leurs événements Spark au compartiment Object Storage qui a été défini comme répertoire principal de l'instance. Le serveur d'historique Spark fournit une Web UI pour afficher ces événements Spark. L' Web UI vous aide à analyser la façon dont vos applications Spark ont été exécutées en affichant des informations utiles telles que:

  • Liste des étapes que l'application traverse lorsqu'elle est exécutée
  • Nombre de tâches dans chaque étape
  • Les détails de configuration, tels que les programmes d'exécution en cours d'exécution et l'utilisation de la mémoire

Pour plus d'informations, voir la documentation du serveur Spark History.

Vous pouvez désactiver le transfert d'événements Spark à partir d'une application Spark en définissant la propriété spark.eventLog.enabled sur false dans la configuration de l'application Spark.

Démarrage et arrêt du serveur d'historique Spark

Avant d'accéder au serveur d'historique Spark, vous devez démarrer le serveur. Lorsque vous n'en avez plus besoin, vous devez arrêter le serveur. Vous serez facturé pour les coeurs d'UC et la mémoire consommés par le serveur d'historique Spark pendant son exécution.

Le serveur d'historique Spark peut être démarré et arrêté à l'aide de la commande suivante:

API REST Analytics Engine

Vous pouvez utiliser l'API REST Analytics Engine:

  1. Pour afficher le statut du serveur d'historique Spark

    curl "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/spark_history_server" --header "Authorization: bearer <iam token>"
    
  2. Pour démarrer le serveur d'historique Spark

    curl --location --request POST "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/spark_history_server" --header "Authorization: bearer <iam token>"
    
  3. Pour arrêter le serveur d'historique Spark

    curl --location --request DELETE "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/spark_history_server" --header "Authorization: bearer <iam token>"
    

Interface utilisateur de l'instance Analytics Engine

Vous pouvez utiliser l'interface utilisateur de l'instance Analytics Engine: ​

  1. Pour afficher le statut du serveur d'historique Spark:

    1. Ouvrez votre liste de ressources sur IBM Cloud.
    2. Cliquez sur Services et logiciels et sélectionnez votre instance pour ouvrir la page des détails.
    3. Sélectionnez l'onglet Historique Spark. L'état en cours du serveur est affiché sur cette page.

    Si le statut du serveur d'historique Spark est défini sur Started, vous pouvez également cliquer sur Afficher l'historique Spark pour lancer l' Web UI du serveur d'historique Spark dans un nouvel onglet de navigateur.

  2. Pour démarrer le serveur d'historique Spark:

    1. Sur la page Spark history, cliquez sur Démarrer le serveur d'historique.
    2. Choisissez la configuration du serveur et cliquez sur Démarrer pour démarrer le serveur d'historique Spark.
  3. Pour arrêter le serveur d'historique Spark:

    1. Sur la page Spark history, cliquez sur Arrêter le serveur d'historique.

Ouverture de l' Web UI du serveur d'historique Spark

Vous pouvez ouvrir l' Web UI de l'historique Spark en ouvrant la page des détails de l'instance de votre instance de service Analytics Engine, en accédant à l'onglet Historique Spark et en cliquant sur Afficher l'historique Spark.

L'URL de l' Web UI du serveur d'historique Spark peut également être obtenue via un noeud final de service qui est mis à votre disposition en tant que clé de service (également appelée données d'identification de service). Consultez Obtention des points d'extrémité de service.

Vérifiez que le serveur d'historique Spark est en cours d'exécution avant d'ouvrir l' Web UI.

Les liens de journal sous les onglets Etapes et Exécuteurs de l'interface utilisateur du serveur d'historique Spark ne fonctionnent pas car les journaux ne sont pas conservés avec les événements Spark. Pour consulter les journaux des tâches et des programmes d'exécution, activez la journalisation de la plateforme. Pour plus d'informations, voir Configuration et affichage des journaux.

Pour afficher les anciennes applications dans l'interface utilisateur du serveur d'historique Spark, copiez les événements Spark de l'ancien chemin vers le nouveau à l'aide de la commande suivante: ibmcloud cos object-copy -- bucket < destination_bucket> -- key /spark-events/<eventlog_app-1>-- copy-source /spark-events/<eventlog_app-1>

Accès à l'API REST du serveur d'historique Spark

Outre l'interface utilisateur Web, le serveur d'historique Spark fournit également une API REST qui peut être interrogée pour afficher les événements Spark générés par vos applications Spark. L'API REST du serveur d'historique Spark est disponible en tant que noeud final de service dans une clé de service (également appelée données d'identification de service). Consultez Obtention des points d'extrémité de service.

Lorsque vous appelez l'API REST du serveur d'historique Spark, vous devez spécifier votre jeton IAM en tant que jeton bearer dans l'en-tête d'autorisation. E.g.

curl --location --request GET 'https://spark-console.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance id>/spark_history_api/v1/applications?status=completed' \
--header 'Authorization: Bearer <iam token>'

Pour plus de détails, voir la documentation de l'API REST du serveur d'historique Spark.

Personnalisation du serveur d'historique Spark

Par défaut, le serveur d'historique Spark consomme 1 coeur d'UC et 4 GiB de mémoire alors qu'il est en cours d'exécution. Si vous souhaitez que votre serveur d'historique Spark utilise davantage de ressources, vous pouvez définir les propriétés suivantes dans les configurations par défaut de votre instance Analytics Engine:

  • ae.spark.history-server.cores pour le nombre de coeurs d'UC
  • ae.spark.history-server.memory pour la quantité de mémoire

Mise à jour des coeurs d'UC et des paramètres de mémoire à l'aide de l'API REST

Vous pouvez mettre à jour les coeurs d'UC et les paramètres de mémoire à l'aide de l'API REST Analytics Engine comme suit:

curl --location --request PATCH "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/default_configs" \
--header "Authorization: bearer <iam_token>" \
--header 'Content-Type: application/json' \
--data-raw '{
        "ae.spark.history-server.cores": "2",
        "ae.spark.history-server.memory": "8G"
}'

Seule une liste prédéfinie de pilotes Spark et de programmes d'exécution vCPU, ainsi que des combinaisons de taille de mémoire sont prises en charge. Voir Pilote et programme d'exécution Spark pris en charge vCPU et combinaisons de mémoire.

Personnalisations supplémentaires

Vous pouvez personnaliser davantage le serveur d'historique Spark en ajoutant des propriétés à la configuration Spark par défaut de votre instance Analytics Engine. Voir les options de configuration de l'historique Sparkstandard.

Comme il s'agit d'une offre gérée, vous ne pouvez pas personnaliser toutes les options de configuration Spark standard.

Pour obtenir la liste des configurations prises en charge et des valeurs par défaut des paramètres, voir Default Spark configuration.

Meilleures pratiques

Arrêtez toujours le serveur d'historique Spark lorsque vous n'avez plus besoin de l'utiliser. N'oubliez pas que le serveur d'historique Spark consomme des ressources de mémoire amd d'UC en continu alors que son état est Started.