2

我们有一个由 Cloud Composer DAG 触发的 DataFusion 管道。此管道提供一个临时 DataProc 集群,该集群在理想情况下会在完成任务后终止。

在我们的案例中,有时,并非总是如此,这个短暂的 DataProc 集群会卡在运行状态。集群内部的作业也处于运行状态,最后的日志信息如下:

INFO runtimejob.DataprocJobMain: Invoking initialize() on io.cdap.cdap.runtime.spi.runtimejob.DataprocRuntimeEnvironment with spark2_2.11
INFO runtimejob.DataprocJobMain: Invoking run() on io.cdap.cdap.internal.app.runtime.distributed.runtimejob.DefaultRuntimeJob
INFO runtimejob.DataprocJobMain: Invoking destroy() on io.cdap.cdap.internal.app.runtime.distributed.runtimejob.DefaultRuntimeJob
INFO runtimejob.DataprocJobMain: Runtime job completed.
Exception: java.lang.NoClassDefFoundError thrown from the UncaughtExceptionHandler in thread " STARTING-SendThread(cdap-<our-identifier>-1f11111b-1d11-11eb-b1a1-1a111fb11d11-m.c.<our-gcp-project-name>.internal:41409)"
Exception: java.lang.NoClassDefFoundError thrown from the UncaughtExceptionHandler in thread "threadDeathWatcher-2-1"

在 DataFusion 端,管道标记为成功。DataFusion 日志如下:

Completed DEPROVISION subtask REQUESTING_DELETE for program run program_run: <data_fusion_namespace>.<pipeline_name>.-SNAPSHOT.workflow.DataPipelineWorkflow.<data_proc_id> //this message is repeated many-many times
DEBUG [provisioning-service-4:i.c.c.c.s.Retries@197] - Retries exhausted after 1 failures and 14 ms.

任何想法是什么导致了这个问题?

ps:消息中的标识符被替换为随机值

4

1 回答 1

1

您正在运行哪个版本的 Datafusion?Dataproc 集群的内存量是多少?有时我们会在 Dataproc 集群内存不足时观察到此问题。我建议增加内存量。

于 2021-03-29T20:41:41.257 回答