我想查看 Amazon EMR 叢集中託管的 Apache Spark Web 介面。
解決方案
Spark History Server 是一個 Web UI,您可以在其中檢視 EMR 叢集上執行中和已完成的 Spark 作業狀態。
以下是存取在公有和私有子網路中託管之 Spark UI 的常用方法:
- 持久性應用程式使用者介面
- 叢集上應用程式使用者介面
持久性應用程式使用者介面
在 EMR 叢集中,apppusher 常駐程式會定期將 Spark 事件日誌傳送至 Amazon EMR 生產儲存貯體。持久性 Spark UI 會使用事件日誌來顯示 Spark 應用程式。
當應用程式的事件日誌目錄在 HDFS 中時,此功能有效。依預設,Amazon EMR 將事件日誌儲存在 HDFS 的 /var/log/spark/apps 目錄中。如果您將預設目錄變更為不同的檔案系統,例如 Amazon Simple Storage Service (Amazon S3),則此功能無法運作。如需詳細資訊,請參閱考量和限制。
您可以存取作用中和已終止叢集的應用程式歷程記錄和相關日誌。日誌可在應用程式結束後的 30 天內使用。如需詳細資訊,請參閱檢視持久性應用程式使用者介面。
叢集上應用程式使用者介面
在主節點上託管叢集上的使用者介面,且需要 SSH 連線至 Web 伺服器。
若要存取叢集上的 UI,請執行下列動作:
1. 使用 SSH 連線到主節點。
2. 使用動態連接埠轉送來設定 SSH 通道。
3. 設定網際網路瀏覽器,以使用附加元件,例如 Firefox 的 FoxyProxy 或 Chrome 的 SwitchyOmega,來管理 SOCKS 代理設定 。
此方法會根據文字模式自動篩選 URL。此外,此方法會將 Proxy 設定限制為符合主節點 DNS 名稱格式的網域。
ssh -i ~/mykeypair.pem -N -L 8157:ec2-###-##-##-###.compute-1.amazonaws.com:18080 hadoop@ec2-###-##-##-###.compute-1.amazonaws.com
如需詳細資訊,請參閱選項 1:使用本機連接埠轉送將 SSH 通道設定至主節點。
除非您透過 VPN 連線或 AWS Direct Connect 使用本機網路,否則無法直接存取私有子網路中的叢集上 UI。此外,您必須設定路由,以便跨越 AWS 和本機網路的通訊。
或者,您可以使用公有子網路中託管的堡壘或跳轉伺服器來連線至私有子網路。然後,使用動態連接埠轉送來建立 SSH 通道。
如需詳細資訊,請參閱在私有子網路中啟動的 Amazon EMR 上安全存取 Web 界面。