ワークフローのモニタリングとデバッグ

このページには、Cloud Dataproc ワークフローのモニタリングとデバッグに役立つ情報が記載されています。

ワークフローの一覧表示

インスタンス化された WorkflowTemplate は「ワークフロー」と呼ばれ、「オペレーション」としてモデル化されています。

次の gcloud コマンドを実行して、プロジェクトのワークフローを一覧表示します。

    gcloud beta dataproc operations list --filter "operationType = WORKFLOW"
    
    ...
    OPERATION_NAME                                                DONE
    projects/.../operations/07282b66-2c60-4919-9154-13bd4f03a1f2  True
    projects/.../operations/1c0b0fd5-839a-4ad4-9a57-bbb011956690  True
    

以下は「terasort」テンプレートから開始したすべてのワークフローを一覧表示するリクエストの例です。

    gcloud beta dataproc operations list \
       --filter "labels.goog-dataproc-workflow-template-id=terasort"
    
    ...
    OPERATION_NAME                                     DONE
    projects/.../07282b66-2c60-4919-9154-13bd4f03a1f2  True
    projects/.../1c0b0fd5-839a-4ad4-9a57-bbb011956690  True
    

この後のクエリでは、OPERATION_NAME の UUID 部分のみが使用されます。

WorkflowMetadata の使用

operation.metadata フィールドには、ワークフローの失敗の診断に役立つ情報が表示されます。

以下は、オペレーションに埋め込まれたノード(ジョブ)のグラフを含む WorkflowMetadata の例です。

    {
      "name": "projects/my-project/regions/us-central1/operations/671c1d5d-9d24-4cc7-8c93-846e0f886d6e",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.dataproc.v1beta2.WorkflowMetadata",
        "template": "terasort",
        "version": 1,
        "createCluster": {
          "operationId": "projects/my-project/regions/us-central1/operations/8d472870-4a8b-4609-9f7d-48daccb028fc",
          "isDone": true
        },
        "graph": {
          "nodes": [
            {
              "stepId": "teragen",
              "jobId": "teragen-vtrprwcgepyny",
              "state": "COMPLETED"
            },
            {
              "stepId": "terasort",
              "prerequisiteStepIds": [
                "teragen"
              ],
              "jobId": "terasort-vtrprwcgepyny",
              "state": "FAILED",
              "error": "Job failed"
            },
            {
              "stepId": "teravalidate",
              "prerequisiteStepIds": [
                "terasort"
              ],
              "state": "FAILED",
              "error": "Skipped, node terasort failed"
            }
          ]
        },
        "deleteCluster": {
          "operationId": "projects/my-project/regions/us-central1/operations/9654c67b-2642-4142-a145-ca908e7c81c9",
          "isDone": true
        },
        "state": "DONE",
        "clusterName": "terasort-cluster-vtrprwcgepyny"
      },
      "done": true,
      "error": {
        "message": "Workflow failed"
      }
    }
    Done!
    

テンプレートの取得

前の例で示したように、metadata にはテンプレート ID とバージョンが含まれています。

    "template": "terasort",
    "version": 1,
    

テンプレートが削除されていない場合、インスタンス化されたテンプレートのバージョンは、describe-with-version リクエストで取得することができます。

    gcloud beta dataproc workflow-templates describe \
      terasort --version 1
    

テンプレートによって開始されたクラスタ オペレーションを一覧表示します。

    gcloud beta dataproc operations list \
      --filter  "labels.goog-dataproc-workflow-instance-id = \
                 07282b66-2c60-4919-9154-13bd4f03a1f2"
    
    ...
    OPERATION_NAME                                     DONE
    projects/.../cf9ce692-d6c9-4671-a909-09fd62041024  True
    projects/.../1bbaefd9-7fd9-460f-9adf-ee9bc448b8b7  True
    

次のサンプル リクエストでは、テンプレートから送信されたジョブが一覧表示されます。

    gcloud beta dataproc jobs list \
      --filter "labels.goog-dataproc-workflow-template-id = terasort"
    
    ...
    JOB_ID                TYPE     STATUS
    terasort2-ci2ejdq2ta7l6  pyspark  DONE
    terasort2-ci2ejdq2ta7l6  pyspark  DONE
    terasort1-ci2ejdq2ta7l6  pyspark  DONE
    terasort3-3xwsy6ubbs4ak  pyspark  DONE
    terasort2-3xwsy6ubbs4ak  pyspark  DONE
    terasort1-3xwsy6ubbs4ak  pyspark  DONE
    terasort3-ajov4nptsllti  pyspark  DONE
    terasort2-ajov4nptsllti  pyspark  DONE
    terasort1-ajov4nptsllti  pyspark  DONE
    terasort1-b262xachbv6c4  pyspark  DONE
    terasort1-cryvid3kreea2  pyspark  DONE
    terasort1-ndprn46nesbv4  pyspark  DONE
    terasort1-yznruxam4ppxi  pyspark  DONE
    terasort1-ttjbhpqmw55t6  pyspark  DONE
    terasort1-d7svwzloplbni  pyspark  DONE
    

ワークフロー インスタンスから送信されたジョブを一覧表示します。

    gcloud beta dataproc jobs list \
      --filter  "labels.goog-dataproc-workflow-instance-id = \
                 07282b66-2c60-4919-9154-13bd4f03a1f2"
    
    ...
    JOB_ID                TYPE     STATUS
    terasort3-ci2ejdq2ta7l6  pyspark  DONE
    terasort2-ci2ejdq2ta7l6  pyspark  DONE
    terasort1-ci2ejdq2ta7l6  pyspark  DONE