【问题标题】:Azure Batch failure while loading large data加载大数据时 Azure Batch 失败
【发布时间】:2021-04-30 19:20:08
【问题描述】:

我正在加载约 2 GB 的数据,以便在超过 10 台机器的 Azure Batch 中执行一些任务。 无论我分配什么类型的机器,任务总是失败。 (当我将大小减小到小于 500 MB 时它不会失败)。 logs 文件夹中没有报告错误但是我在stderr 文件夹中遇到以下错误, 这与 readRDS 的运行时错误有关吗?有什么参数可以增加吗? 谢谢,

'/usr/local/lib/R/bin/R --no-echo --no-restore --no-save --no-environ --no-restore --no-site-file --file=/mnt/batch/tasks/workitems/job20210430184501/job-1/jobpreparation/wd/worker.R --args 1 1 0 pass'

Error in readRDS(paste0(batchJobPreparationDirectory, "/", batchJobEnvironment)) : 
  error reading from connection
Execution halted

【问题讨论】:

    标签: r azure azure-batch


    【解决方案1】:

    这不是 Azure Batch 的问题,而是您正在使用的程序/库或您如何使用所述程序/库的问题。如果指定为资源文件一部分的文件未正确下载,则您的任务将不会开始执行(即,您将看不到 stdout.txtstderr.txt,因为与任务关联的进程不会被创建)。

    【讨论】:

    • 我将 R 与 docker 映像一起使用。我认为问题不在于我正在使用的程序/库,因为如果我将数据缩小到 1/4,则该过程可以正常完成。我的猜测是,因为我使用的是doAzureParallel,azure batch 接收所有数据,然后在将其分配给任何机器之前使用 readRDS 读取它,并且问题可能是 azure batch 端的 readRDS 超时。此外,logsstdout.text 为空(可能显示任务在创建之前失败)。 stderr.txt 不是我提到的空,但如果我没记错的话,stderr.txt 在创建任务之前也会报告错误。
    • 正确,如果您看到 stdout.txt/stderr.txt 文件,则至少创建了该进程。创建并启动进程后,Azure Batch 不会干扰其执行,除非对其施加了任务约束(例如 maxWallclockTime)。我建议再次检查您的程序是否存在问题,此外,请确保您选择的 VM 大小能够处理您的程序/输入数据的需求。
    猜你喜欢
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多