Spark 歷程伺服器
在 IBM Analytics Engine 實例上提交的 Spark 應用程式會將其 Spark 事件轉遞至定義為 實例起始目錄的 Object Storage 儲存區。 Spark 歷程伺服器提供 Web UI 來檢視這些 Spark 事件。 Web UI 透過顯示如下有用資訊來協助您分析 Spark 應用程式的執行方式:
- 應用程式執行時所經歷的階段清單
- 每一個階段中的作業數
- 配置詳細資料,例如執行中執行程式及記憶體用量
如需詳細資料,請參閱 Spark 歷程伺服器說明文件。
您可以在 Spark 應用程式配置中將 spark.eventLog.enabled 內容設為 false,以停用從 Spark 應用程式轉遞 Spark 事件。
啟動和停止 Spark 歷程伺服器
在存取 Spark 歷程伺服器之前,您需要先啟動伺服器。 當您不再需要它時,應該停止伺服器。 將向您收取 Spark 歷程伺服器在執行時所耗用的 CPU 核心及記憶體的費用。
可以使用下列指令來啟動及停止 Spark 歷程伺服器:
Analytics Engine REST API
您可以使用 Analytics Engine REST API:
-
檢視 Spark 歷程伺服器的狀態
curl "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/spark_history_server" --header "Authorization: bearer <iam token>" -
啟動 Spark 歷程伺服器
curl --location --request POST "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/spark_history_server" --header "Authorization: bearer <iam token>" -
停止 Spark 歷程伺服器
curl --location --request DELETE "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/spark_history_server" --header "Authorization: bearer <iam token>"
Analytics Engine 實例使用者介面
您可以使用 Analytics Engine 實例使用者介面:
-
若要檢視 Spark 歷程伺服器狀態,請執行下列動作:
- 在 IBM Cloud 上開啟資源清單。
- 按一下 服務及軟體,然後選取實例以開啟詳細資料頁面。
- 選取 Spark 歷程 標籤。 伺服器的現行狀態會顯示在這個頁面上。
如果 Spark 歷程伺服器的狀態設為
Started,您也可以按一下 檢視 Spark 歷程,在新的瀏覽器標籤中啟動 Spark 歷程伺服器的 Web UI。 -
若要啟動 Spark 歷程伺服器,請執行下列動作:
- 在
Spark history頁面上,按一下 啟動歷程伺服器。 - 選擇伺服器配置,然後按一下 啟動,以啟動 Spark 歷程伺服器。
- 在
-
若要停止 Spark 歷程伺服器,請執行下列動作:
- 在
Spark history頁面上,按一下 停止歷程伺服器。
- 在
開啟 Spark 歷程伺服器 Web UI
您可以開啟 Spark 歷程 Web UI,方法是開啟 Analytics Engine 服務實例的實例詳細資料頁面,切換至 Spark 歷程 標籤,然後按一下 檢視 Spark 歷程。
或者,可以透過服務端點取得 Spark 歷程伺服器 Web UI URL,該服務端點可作為服務金鑰提供給您使用 (也稱為服務認證)。 請參閱 擷取服務端點。
請確保 Spark 歷程伺服器正在執行中,然後再開啟 Web UI。
Spark 歷程伺服器使用者介面的「階段」及「執行程式」標籤下的日誌鏈結將無法運作,因為 Spark 事件不會保留日誌。 如果要檢閱作業和執行程式日誌,請啟用平台記載。 如需詳細資料,請參閱 配置及檢視日誌。
若要在 Spark 歷程伺服器使用者介面上檢視較舊的應用程式,請使用下列指令將 Spark 事件從舊路徑複製到新路徑: ibmcloud cos object-copy --bucket <destination_bucket> --key
存取 Spark 歷程伺服器 REST API
除了 Web 使用者介面之外,Spark 歷程伺服器還提供可查詢的 REST API,以檢視 Spark 應用程式所產生的 Spark 事件。 Spark 歷程伺服器 REST API 可作為服務金鑰中的服務端點 (也稱為服務認證)。 請參閱 擷取服務端點。
當您呼叫 Spark 歷程伺服器 REST API 時,必須在 Authorization 標頭中指定 IAM 記號作為載送記號。 E.g.
curl --location --request GET 'https://spark-console.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance id>/spark_history_api/v1/applications?status=completed' \
--header 'Authorization: Bearer <iam token>'
如需詳細資料,請參閱 Spark 歷程伺服器 REST API 文件。
自訂 Spark 歷程伺服器
依預設,Spark 歷程伺服器在執行時耗用 1 個 CPU 核心及 4 GiB 記憶體。 如果您想要 Spark 歷程伺服器使用更多資源,則可以在 Analytics Engine 實例預設配置中設定下列內容:
ae.spark.history-server.cores代表 CPU 核心數目ae.spark.history-server.memory代表記憶體數量
使用 REST API 更新 CPU 核心及記憶體設定
您可以使用 Analytics Engine REST API 來更新 CPU 核心及記憶體設定,如下所示:
curl --location --request PATCH "https://api.us-south.ae.cloud.ibm.com/v3/analytics_engines/<instance_id>/default_configs" \
--header "Authorization: bearer <iam_token>" \
--header 'Content-Type: application/json' \
--data-raw '{
"ae.spark.history-server.cores": "2",
"ae.spark.history-server.memory": "8G"
}'
僅支援預先定義的 Spark 驅動程式和執行程式 vCPU及記憶體大小組合清單。 請參閱 支援的 Spark 驅動程式和執行程式 vCPU 與記憶體組合。
其他自訂
您可以將內容新增至 Analytics Engine 實例的預設 Spark 配置,以進一步自訂 Spark 歷程伺服器。 請參閱標準 Spark 歷程配置選項。
由於這是受管理供應項目,您無法自訂所有標準 Spark 配置選項。
如需受支援配置及設定預設值的清單,請參閱 預設 Spark 配置。
最佳作法
當您不再需要使用 Spark 歷程伺服器時,請一律停止它。 請記住,Spark 歷程伺服器在其狀態為 Started 時,會持續耗用 CPU amd 記憶體資源。