当前位置: 首页 > 知识库问答 >
问题:

如何在Google Dataproc上运行两个并行作业

王曜文
2023-03-14

默认情况下,所有设置都是。如何启用同时运行的多个作业?

共有1个答案

詹亮
2023-03-14

Dataproc确实支持多个并发作业。但是,它承载多个作业的能力取决于纱线是否具有承载应用程序主机(或者作业将排队)或实际工作人员(或者作业将花费很长时间)的可用能力。

您的大型作业将请求的容器数量取决于分区的数量。在默认设置下,Dataproc工作器将支持2个映射器或精简器任务。如果您正在处理100个文件,并且每个文件都是一个分区,那么现在就分配了整个集群的容量。

你可以做几件事:

>

  • 在单独的群集上运行较小的作业。理想的群集配置是一个作业占据整个群集,或者N个作业平均共享群集

    向当前集群添加额外的工作线程和/或尝试使用可抢占的工作线程(您可以使用clusters update命令来调整大小,请参见)

    (高级)不同纱线调度器的试验(见队列公平调度器)

  •  类似资料:
    • 一个spark有一个oracle查询。所以我必须并行运行多个作业,以便所有查询都将同时激发。 如何并行运行多个作业?

    • 我正在尝试使用Spring Batch和Spring Task Scheduler运行两个作业,而不考虑它们的调度时间。这两个作业(Tasklet)在不同的时间间隔执行不同的作业。 以下是springConfig。xml文件: 以下是CouPonTougleActivationScheduler和OTPJobScheduler的实现: @enableSched调度公有类CouPonTougleAc

    • 我在BatchScheduler中有多个计划作业,它在特定时间运行。简单的内置JobLauncher,这是同步的。在自然界中最初使用。现在,我想并行运行这些作业,这样没有作业可以等待其他作业完成。 我在不同的作业上尝试过@Async注释,但都不起作用。 然后,我尝试设置joblauncher.settaskexecutor(新的SimpleAsyncTaskExecutor())。但这并不奏效。

    • 我不想允许相同类型(相同存储库)的两个作业在同一节点上并行运行。 如何在Jenkinsfile中使用groovy做到这一点?

    • 我正在尝试并行运行两个exe程序。我想启动它们,等待它们完成后再继续。以下是一个例子: 第一个进程睡眠5秒,第二个进程睡眠10秒。我希望看到进程启动的两条消息和“等待任务”消息。10秒后,请参见“过程完成”。但是,我立即看到“Procs complete”。 任务管理器显示正在运行的进程,同时显示“进程完成”。 那么,我如何从一个程序中启动两个独立的可执行程序,并行运行它们,然后等待它们完成,然后

    • 然后再次运行,但它也转到GPU0。 我看了相关的问题,如何选择指定的GPU来运行CUDA程序?但是命令不在CUDA 8.0 bin目录中。除了之外,我还看到其他文章引用了环境变量但这些都没有设置,我也没有找到关于如何使用它的信息。 虽然与我的问题没有直接关系,但使用我能够使应用程序在GPU1上运行,但使用不能在GPU0和1上运行。 我正在一个使用bash shell运行的系统上测试这一点,该系统在