首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure在池上批量装载blob存储导致错误"Counld not install package“

Azure在池上批量装载blob存储导致错误"Counld not install package“
EN

Stack Overflow用户
提问于 2020-03-16 16:23:28
回答 2查看 504关注 0票数 1

我有一个Azure批处理池,其中安装了三个blob存储容器。但是,当节点第一次启动时,会出现以下错误:

查看日志,似乎节点在安装blobfuse包时出现了问题。重复获取此错误消息:

代码语言:javascript
复制
2020-03-11T09:15:48,654579941+00:00 - INFO: Downloading: https://packages.microsoft.com/keys/microsoft.asc as microsoft.asc
2020-03-11T09:15:48,770319520+00:00 - INFO: Downloading: https://packages.microsoft.com/config/ubuntu/16.04/prod.list as /etc/apt/sources.list.d/microsoft-prod.list
Hit:1 http://azure.archive.ubuntu.com/ubuntu xenial InRelease
Hit:2 http://azure.archive.ubuntu.com/ubuntu xenial-updates InRelease
Hit:3 http://azure.archive.ubuntu.com/ubuntu xenial-backports InRelease
Hit:4 http://security.ubuntu.com/ubuntu xenial-security InRelease
Get:5 https://packages.microsoft.com/ubuntu/16.04/prod xenial InRelease [4,002 B]
Get:6 https://packages.microsoft.com/ubuntu/16.04/prod xenial/main amd64 Packages [124 kB]
Fetched 128 kB in 0s (383 kB/s)
Reading package lists...
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
...

2020-03-11T09:16:53,361634408+00:00 - ERROR: Could not install packages (apt): blobfuse

然后,节点进入Unusable状态,直到我手动重新启动它们,这将“修复”问题,然后节点开始处理任务。

任务应以提升的权限运行:

代码语言:javascript
复制
UserIdentity = new UserIdentity(
                new AutoUserSpecification(
                      elevationLevel: ElevationLevel.Admin,
                      scope: AutoUserScope.Pool
                  )
              ),

更新1

我无法解决这个问题,所以我决定解决它。调整大小或重新创建池没有帮助。取而代之的是,我在Docker镜像中安装了blobfuse,并在任务本身中挂载了blob存储容器。这个很好用。

EN

回答 2

Stack Overflow用户

发布于 2020-03-16 18:09:04

您的方法看起来很好,很高兴reboot修复了它,在这种特定情况下,这是正确的修复以及重新调整大小。

感谢您共享日志,这似乎是Installation with the Blobfusefailure有问题

最大的泄漏是:**ERROR: Could not install packages (apt): blobfuse**是最大的指示器,本质上是引擎盖下的节点看起来模糊了要安装的,并且似乎某个进程有一个长期运行的并行apt安装。The cause of this error is detailed here E: Could not get lock /var/lib/dpkg/lock-frontend - open

2可能的解决方案

  • 就像你提到的,reboot修复了它。
  • 另一种选择是resize池。OR better :重新创建池,然后尝试。

为什么重新启动或调整大小将修复它:本质上,在这两种情况下,VM都会在批处理结束时使用刷新内存来调用加入池进程,这将有助于解除阻塞blobfuse的锁定场景。在批处理节点级别,我们可以尝试某种回退机制。我也会密切关注blobfuse,如果里面的什么东西导致了这个https://github.com/Azure/azure-storage-fuse

希望这能有所帮助。

票数 3
EN

Stack Overflow用户

发布于 2020-07-14 21:04:19

我遇到了完全相同的问题,当我手动创建动态池和任务时,我不能选择介入和重启。

我的工作是将批处理帐户链接到存储帐户,然后将资源文件指定为任务的一部分。这使得容器在任务的工作目录中可见。

这是我在NodeJS中的例子,它应该可以转换成你选择的语言。

代码语言:javascript
复制
{
        id: taskId,
        commandLine: "",
        containerSettings: taskContainerSettings,
        environmentSettings: [
            {
                name: "USER_ID",
                value: userId
            },
            {
                name: "RUN_ID",
                value: runId
            }],
        resourceFiles: [{"autoStorageContainerName": userId}]
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60702497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档