无法 drain/cancel 数据流作业。它保持挂起状态

Unable to drain/cancel Dataflow job. It keeps pending state

有些作业仍处于挂起状态,我无法取消它们。

如何取消作业。

Web 控制台显示如下。

Compute Engline 选项卡中没有实例。

下面是我做的。 我创建了一个流媒体作业。这是简单的模板作业,对 BigQuery 的 Pubsub 订阅。我将 machineType 设置为 e2-micro 因为它只是一个测试。

我也试过用 gcloud 排空和取消,但是没用。

$ gcloud dataflow jobs drain --region asia-northeast1 JOBID

Failed to drain job [...]: (...): Workflow modification failed. Causes: (...): 
Operation drain not allowed for JOBID. 
Job is not yet ready for draining. Please retry in a few minutes. 
Please ensure you have permission to access the job and the `--region` flag, asia-northeast1, matches the job's
region.

这是职位列表

$ gcloud dataflow jobs list --region asia-northeast1
JOB_ID  NAME                               TYPE       CREATION_TIME        STATE      REGION
JOBID1  pubsub-to-bigquery-udf4            Streaming  2021-02-09 04:24:23  Pending    asia-northeast1
JOBID2  pubsub-to-bigquery-udf2            Streaming  2021-02-09 03:20:35  Pending    asia-northeast1
...other jobs...

请让我知道如何 stop/cancel/delete 这些流媒体作业。

作业 ID:

网页界面: https://i.stack.imgur.com/B75OX.png

https://i.stack.imgur.com/LzUGQ.png

在 GCP 控制台数据流 UI 中,如果您有 运行 个数据流作业,您将看到“停止”按钮,如下图所示。

按停止按钮。

成功停止作业后,您将看到如下状态。 (第一次尝试时我太慢无法停止工作,所以我不得不再次测试它。:))

根据个人经验,有一段时间很少有实例会卡住,要么他们继续 运行,要么无法取消,要么你看不到图形数据流管道。处理此类问题的最佳方法是让它们处于 thr 状态,除非它不会因暂时超过最大并发运行而影响您的解决方案。它将自动取消或由 Google 团队取消,因为 Dataflow 是 google 托管的。