現在太多的執行上下文是開放的

減少筆記本用來限製執行上下文的數量需要你的工作。

寫的akash.bhat

去年發表在:2023年5月31日

問題

你遇到以下錯誤消息當你試圖把一個筆記本一個集群或工作失敗。

運行結果不可用:工作太多的失敗與錯誤消息執行上下文現在是開放的。(限製目前設置為150)

導致

磚創建一個執行上下文,當你把一個筆記本一個集群。REPL的執行上下文包含國家環境對於支持的每種編程語言:Python, R, Scala和SQL。

集群的最大數量為150的執行上下文。145用戶repl,其餘五分配內部係統repl保留後台操作的上下文。一旦達到這個閾值時,你可以不再附加一個筆記本到集群。

刪除

信息

不可能查看當前的執行上下文使用。

解決方案

確保你沒有殘疾auto-eviction集群火花配置(AWS|Azure|GCP)。

如果存在以下行火花配置,auto-eviction是禁用的。刪除這條線重新啟用auto-eviction:

spark.databricks.chauffeur。enableIdleContextTracking假

最佳實踐

  • 使用集群工作而不是一個交互式集群。集群工作為每個任務的最好方法是避免的執行上下文。集群工作應該用於隔離和可靠性。
  • 減少單獨的筆記本用來減少所需的執行上下文。

臨時解決方法

作為一個短期的解決方案,您可以使用一個集群級init腳本增加執行上下文限製從150年到175年。

刪除

警告

如果你增加執行上下文的限製,司機內存壓力可能會增加。你不應該用這個作為一個長期的解決方案。

創建初始化腳本

在筆記本中運行這個示例腳本創建集群的init腳本。

% scala val initScriptContent = s”“| # !/bin/bash |貓> /磚/共同/ conf / set_exec_context_limit。參看< < EOL | {| rb = 170 |} |停產”“狀態”。stripMargin dbutils.fs.put (“dbfs: / < path-to-init-script > / set_exec_context_limit。sh”initScriptContent,真的)

記得init腳本的路徑。你需要它在配置集群。

配置初始化腳本

按照文檔來配置一個集群級init腳本(AWS|Azure|GCP)。

設置目的地作為DBFS並指定init腳本的路徑。使用相同的路徑,你使用的示例腳本。

在配置init腳本之後,重新啟動集群。


這篇文章有用嗎?