本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
EMR Notebooks 可讓您在 Spark 叢集上設定使用者模擬。此功能可協助您追蹤從筆記本編輯器起始的任務活動。此外,EMR Notebooks 具有內建的 Jupyter 筆記本小工具,此工具可在筆記本檢視器中,檢視 Spark 作業詳細資訊和查詢輸出。這項小工具為預設提供,不需要進行特別的設定。不過,若要檢視歷史記錄伺服器,必須設定您的用戶端,以檢視主節點上所託管的 Amazon EMR Web 介面。
注意
EMR Notebooks 可在 主控台中做為 EMR Studio Workspaces 使用。主控台中的建立工作區按鈕可讓您建立新的筆記本。若要存取或建立工作區,EMR Notebooks 使用者需要其他 IAM 角色許可。如需詳細資訊,請參閱 主控台和 Amazon EMR 主控台中的 Amazon EMR 筆記本是 Amazon EMR Studio Workspaces。 https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html
設定 Spark 使用者模擬
根據預設,使用者透過筆記本編輯器所提交的 Spark 任務,似乎源自於模糊的 livy
使用者身分。您可以為該叢集設訂使用者模擬,如此這些作業就會改為和執行程式碼的使用者身分產生關聯。會針對在筆記本中執行程式碼的每個使用者身分,在主節點上建立 HDFS 使用者目錄。例如,如果使用者 NbUser1
從筆記本編輯器執行程式碼,您可以連線到主節點,然後檢視 hadoop fs -ls /user
顯示的目錄 /user/user_NbUser1
。
若要啟用這項功能,您可以在 core-site
和 livy-conf
組態分類中設定屬性。當您讓 Amazon EMR 同時建立叢集和筆記本時,這項功能預設不能使用。如需有關使用組態分類來自訂應用程式的詳細資訊,請參閱《Amazon EMR 版本指南》中的設定應用程式。
使用下列組態分類和值,來啟用 EMR Notebooks 的使用者模擬功能:
[
{
"Classification": "core-site",
"Properties": {
"hadoop.proxyuser.livy.groups": "*",
"hadoop.proxyuser.livy.hosts": "*"
}
},
{
"Classification": "livy-conf",
"Properties": {
"livy.impersonation.enabled": "true"
}
}
]
使用 Spark 作業監控小工具
當您在筆記本編輯器中執行程式碼,來執行 EMR 叢集上的 Spark 任務時,輸入會包括用來監控 Spark 任務的 Jupyter 筆記本小工具。這項小工具會提供作業詳細資訊和實用的連結 (連結到 Spark 歷史記錄伺服器頁面與 Hadoop 作業歷史記錄頁面),以及便利的連結,可針對任何失敗的作業,連結到 Amazon S3 中的作業日誌。
若要檢視叢集主節點上的歷史記錄伺服器頁面,必須適當地設定 SSH 用戶端與代理。如需詳細資訊,請參閱檢視 Amazon EMR 叢集上託管的 Web 介面。若要檢視 Amazon S3 中的日誌,必須啟用叢集日誌記錄,這是新叢集的預設功能。如需詳細資訊,請參閱檢視封存至 Amazon S3 的日誌檔案。
下列是 Spark 作業監控範例。
