【问题标题】:Your pool's capacity exceeds your workspace's total vcore quota您的池容量超过了工作区的总 vcore 配额
【发布时间】:2022-01-15 03:54:58
【问题描述】:

我现在使用 Azure Synapse 工作了将近一年,并且从一开始还使用在 Spark 池上运行的笔记本。仅几个月后,我才收到此错误消息:
对目标 Load Delta Lake 的操作失败:异常:无法创建用于执行笔记本的 Livy 会话。错误:您的池容量(3200 个 vcore)超过了您工作区的总 vcore 配额(50 个 vcore)。尝试减少池容量或增加工作区的 vcore 配额。 HTTP 状态码:400。

这里发生了什么?

【问题讨论】:

    标签: apache-spark azure-synapse


    【解决方案1】:

    因此,Microsoft 将工作区的总 vcore 限制为 50。因此,尽管您可以分配最多 200 个节点,但您分配的节点不应超过 11 个(如果您有一个小池)。
    11 你可能会想?这是因为一个小型池的每个节点有 4 个 vcore,但总有 1 个执行器开销会添加到该总数中。
    所以,这是增加复杂性的另一个术语。每个池有多个可用的执行程序。计算最大 vcore 数的公式为:
    maximum_number_of_vcores = (number_of_executors + 1) * number_of_vcores_consumed_by_each
    然后是执行者的数量:
    number_of_executors = executor_per_node * number_of_nodes_configured

    您可以使用的变量是:

    • 池大小(小、中、大等)
    • 节点数
    • 执行者的数量(仅在会话级别)。

    如果您想增加可用于工作区池的 vcore 数量,您可以为此创建服务请求。我会建议这尤其适用于生产环境。

    其中大部分是我从 Microsoft 支持请求中获得的知识,但也结合了逻辑思维。所以这里可能会出现错误。

    【讨论】:

    • 同意 - 在生产中,50 被证明是极低的。有一个特定类别的支持请求用于请求增加配额。拥有更多不会增加您的直接成本,因此您可以毫无问题地要求 300 左右。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-09
    • 2017-08-15
    • 2021-09-21
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多