Alibaba Cloud E-MapReduce(EMR)コンソールで、または kubectl や API を使用して、ジョブを管理できます。このトピックでは、kubectl を使用して Spark ジョブを管理する方法について説明します。
前提条件
新しい EMR コンソールの [EMR on ACK] ページで Spark クラスタが作成されていること。詳細については、「はじめに」をご参照ください。
手順
kubectl を使用して Alibaba Cloud Container Service for Kubernetes(ACK)クラスタに接続します。詳細については、「クラスタの kubeconfig ファイルを取得し、kubectl を使用してクラスタに接続する」をご参照ください。
API オペレーションを呼び出すことによって、ACK クラスタに接続することもできます。詳細については、「Kubernetes API を使用する」をご参照ください。
ジョブを管理するには、次のコマンドを実行します。
ジョブのステータスを表示します。構文:
kubectl describe SparkApplication <Job name> --namespace <Namespace in which the cluster resides>
次の情報が返されます。
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 running
ジョブ名
を取得するには、EMR コンソールにログインし、クラスタ詳細ページの [クラスタの詳細] タブに移動します。作成されたジョブは、[ジョブ] セクションに表示されます。ジョブを終了して削除します。構文:
kubectl delete SparkApplication <Job name> -n <Namespace in which the cluster resides>
次の情報が返されます。
sparkapplication.sparkoperator.k8s.io "spark-pi-simple" deleted
ジョブのログを表示します。構文:
kubectl logs <Job name-driver> -n <Namespace in which the cluster resides>
説明ジョブ名が spark-pi-simple で、名前空間が c-d2232227b951**** の場合、実行するコマンドは
kubectl logs spark-pi-simple-driver -n c-d2232227b951****
です。次の出力に類似した情報が返されます。
...... 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