Cette rubrique explique comment gérer les jobs Spark à l'aide de kubectl.
Prérequis
Créez un cluster Spark dans la console E-MapReduce on ACK. Pour plus d'informations, consultez la section Prise en main.
Procédure
-
Connectez-vous au cluster Kubernetes avec kubectl. Pour plus d'informations, consultez la section Obtenir le fichier kubeconfig d'un cluster et utiliser kubectl pour se connecter au cluster.
Vous pouvez également vous connecter au cluster Kubernetes via des API. Pour plus d'informations, consultez la section Utiliser l'API Kubernetes.
-
Exécutez les commandes suivantes pour gérer vos jobs.
-
Consultez l'état d'un job en exécutant la commande suivante.
kubectl describe SparkApplication <job name> --namespace <cluster namespace>La commande renvoie un résultat similaire à l'exemple ci-dessous.
Name: spark-pi-simple Namespace: c-48e779e0d9ad**** Labels: <none> Annotations: <none> API Version: sparkoperator.k8s.io/v1beta2 Kind: SparkApplication Metadata: Creation Timestamp: 2021-07-22T06:25:33Z Generation: 1 Resource Version: 7503740 UID: 930874ad-bb17-47f1-a556-55118c1d**** Spec: Arguments: 1000 Driver: Core Limit: 1000m Cores: 1 Memory: 4g Executor: Core Limit: 1000m Cores: 1 Instances: 1 Memory: 8g Memory Overhead: 1g Image: registry-vpc.cn-hangzhou.aliyuncs.com/emr/spark:emr-2.4.5-1.0.0 Main Application File: local:///opt/spark/examples/target/scala-2.11/jars/spark-examples_2.11-2.4.5.jar Main Class: org.apache.spark.examples.SparkPi Spark Version: 2.4.5 Type: Scala Status: Application State: State: RUNNING Driver Info: Pod Name: spark-pi-simple-driver Web UI Address: 172.16.230.240:4040 Web UI Ingress Address: spark-pi-simple.c-48e779e0d9ad4bfd.c7f6b768c34764c27ab740bdb1fc2a3ff.cn-hangzhou.alicontainer.com Web UI Ingress Name: spark-pi-simple-ui-ingress Web UI Port: 4040 Web UI Service Name: spark-pi-simple-ui-svc Execution Attempts: 1 Executor State: spark-pi-1626935142670-exec-1: RUNNING Last Submission Attempt Time: 2021-07-22T06:25:33Z Spark Application Id: spark-15b44f956ecc40b1ae59a27ca18d**** Submission Attempts: 1 Submission ID: d71f30e2-9bf8-4da1-8412-b585fd45**** Termination Time: <nil> Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal SparkApplicationAdded 17s spark-operator SparkApplication spark-pi-simple was added, enqueuing it for submission Normal SparkApplicationSubmitted 14s spark-operator SparkApplication spark-pi-simple was submitted successfully Normal SparkDriverRunning 13s spark-operator Driver spark-pi-simple-driver is running Normal SparkExecutorPending 7s spark-operator Executor spark-pi-1626935142670-exec-1 is pending Normal SparkExecutorRunning 6s spark-operator Executor spark-pi-1626935142670-exec-1 is runningDans la commande, remplacez
<cluster namespace>par le namespace de votre cluster. Vous trouverez ce namespace sur la page Cluster Details de la console E-MapReduce on ACK.Dans la commande, remplacez
<job name>par le nom de votre job. Vous trouverez ce nom de job sur la page Job Details de la console E-MapReduce on ACK. -
Arrêtez et supprimez un job en exécutant la commande suivante.
kubectl delete SparkApplication <job name> -n <cluster namespace>La commande renvoie le résultat suivant.
sparkapplication.sparkoperator.k8s.io "spark-pi-simple" deleted -
Consultez les journaux d'un job en exécutant la commande suivante.
kubectl logs <job-name-driver> -n <cluster namespace>RemarquePar exemple, si le nom du job est spark-pi-simple et que le namespace du cluster est c-d2232227b951****, la commande est
kubectl logs spark-pi-simple-driver -n c-d2232227b951****.La commande renvoie un résultat similaire à l'exemple ci-dessous.
...... Pi is roughly 3.141488791414888 21/07/22 14:37:57 INFO SparkContext: Successfully stopped SparkContext 21/07/22 14:37:57 INFO ShutdownHookManager: Shutdown hook called 21/07/22 14:37:57 INFO ShutdownHookManager: Deleting directory /var/data/spark-b6a43b55-a354-44d7-ae5e-45b8b1493edb/spark-56aae0d1-37b9-4a7d-9c99-4e4ca12deb4b 21/07/22 14:37:57 INFO ShutdownHookManager: Deleting directory /tmp/spark-e2500491-6ed7-48d7-b94e-a9ebeb899320
-