您的池容量超过了工作区的总 vcore 配额
Posted
技术标签:
【中文标题】您的池容量超过了工作区的总 vcore 配额【英文标题】:Your pool's capacity exceeds your workspace's total vcore quota 【发布时间】:2022-01-15 03:54:58 【问题描述】:我现在使用 Azure Synapse 工作了将近一年,并且从一开始还使用在 Spark 池上运行的笔记本。仅几个月后,我才收到此错误消息:对目标 Load Delta Lake 的操作失败:异常:无法创建用于执行笔记本的 Livy 会话。错误:您的池容量(3200 个 vcore)超过了您工作区的总 vcore 配额(50 个 vcore)。尝试减少池容量或增加工作区的 vcore 配额。 HTTP 状态码:400。
这里发生了什么?
【问题讨论】:
【参考方案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 左右。以上是关于您的池容量超过了工作区的总 vcore 配额的主要内容,如果未能解决你的问题,请参考以下文章