Azure Databricks 执行失败 - CLOUD_PROVIDER_LAUNCH_FAILURE

Azure Databricks Execution Fail - CLOUD_PROVIDER_LAUNCH_FAILURE

我正在使用 Azure DataFactory 进行数据摄取,并通过 ADF 的笔记本使用 Azure Databricks 笔记本 activity。

笔记本使用 7.3LTS Spark Runtime 版本的现有标准实例池 DS3_V2(2-5 个节点自动缩放)。多个团队将同一个 Azure 订阅用于各自的数据管道。

在 ADF 管道执行期间,我经常遇到笔记本 activity 故障并显示以下错误消息

{
  "reason": {
    "code": "CLOUD_PROVIDER_LAUNCH_FAILURE",
    "type": "CLOUD_FAILURE",
    "parameters": {
      "azure_error_code": "SubnetIsFull",
      "azure_error_message": "Subnet /subscriptions/<Subscription>/resourceGroups/<RG>/providers/Microsoft.Network/virtualNetworks/<VN>/subnets/<subnet> with address prefix 10.237.35.128/26 does not have enough capacity for 2 IP addresses."
    }
  }
}

谁能解释一下这个错误是什么以及我如何才能减少这种错误的发生? (我查到的文档都没有解释)

出现此问题的原因是创建工作区时未正确规划网络和子网大小(请参阅 docs)。结果,当您尝试启动集群时,给定子网中没有足够的 IP 地址,并出现此错误。

遗憾的是,现在无法扩展 network/subnets 大小,因此如果您需要更大的网络,则需要部署一个新的工作区并迁移到其中。

看起来您的数据块是在 VNET 中创建的,请参阅此 link or this link。完成此操作后,将在此 VNET 的子网之一中创建数据块实例。似乎在触发点,子网内的所有 IP 都已被使用。 你不能做广告不应该扩展 IP space。请不要尝试更改现有的 VNET 配置,因为这会影响您的数据块集群。 您有以下选项。

  1. 检查实例化的数据块实例数量何时减少以及 在此期间安排您的 ADF。你应该看看 跨时间分配执行,这样我们就不会尝试 在子网中的现有 IP 上达到峰值。
  2. 请求您的 IT 部门创建新的 VNET 和子网,并 在此 VNET 中创建一个新的 Databricks 集群。