使用 SSH 通道來存取 Apache Ambari Web UI、JobHistory、NameNode、Apache Oozie 和其他 UI

HDInsight 叢集可讓您透過因特網存取 Apache Ambari Web UI。 某些功能需要 SSH 通道。 例如,若沒有 SSH 通道,就無法透過因特網存取 Apache Oozie Web UI。

為何使用 SSH 通道

Ambari 中的數個功能表只能透過 SSH 通道運作。 這些功能表依賴在其他節點類型上執行的網站和服務,例如背景工作節點。

下列 Web UI 需要 SSH 通道:

  • JobHistory
  • NameNode
  • 線程堆疊
  • Oozie web UI
  • HBase 主要和記錄 UI

使用公開 Web 服務的腳本動作安裝的服務將需要 SSH 通道。 使用腳本動作安裝的 Hue 需要 SSH 通道才能存取 Web UI。

重要

如果您有透過虛擬網路直接存取 HDInsight,就不需要使用 SSH 通道。 如需透過虛擬網路直接存取 HDInsight 的範例,請參閱將 HDInsight 連線 到您的內部部署網路檔。

什麼是 SSH 通道

安全殼層 (SSH) 通道會將 本機電腦上的埠連線到 HDInsight 上的前端節點。 傳送至本機埠的流量會透過 SSH 連線路由傳送至前端節點。 要求會解析成源自前端節點。 然後,回應會透過信道路由回到您的工作站。

必要條件

  • SSH 用戶端。 如需詳細資訊,請參閱使用 SSH 連線至 HDInsight (Apache Hadoop)

  • 可設定為使用SOCKS5 Proxy的網頁瀏覽器。

    警告

    Windows 因特網設定內建的 SOCKS Proxy 支援不支援 SOCKS5,而且不適用於本檔中的步驟。 下列瀏覽器依賴 Windows Proxy 設定,目前無法處理本檔中的步驟:

    • Microsoft Edge
    • Microsoft Internet Explorer

    Google Chrome 也依賴 Windows Proxy 設定。 不過,您可以安裝支援SOCKS5的擴充功能。 我們建議 使用FoxyProxy標準

使用 SSH 命令建立通道

使用下列命令,使用 ssh 命令建立 SSH 通道。 以 HDInsight 叢集的 SSH 使用者取代 sshuser ,並以 HDInsight 叢集的名稱取代 CLUSTERNAME

ssh -C2qTnNf -D 9876 sshuser@CLUSTERNAME-ssh.azurehdinsight.net

此命令會建立連線,以透過 SSH 將流量路由傳送至本機埠 9876 至叢集。 選項是:

選項 描述
D 9876 透過信道路由傳送流量的本機埠。
C 壓縮所有數據,因為 Web 流量大多是文字。
2 強制SSH僅嘗試通訊協定第2版。
q 無訊息模式。
T 停用虛擬 tty 配置,因為您只是轉送埠。
n 避免讀取 STDIN,因為您只是轉送埠。
請勿執行遠端命令,因為您只是轉送埠。
f 在背景中執行。

命令完成後,傳送至本機計算機上的埠 9876 流量會路由傳送至叢集前端節點。

使用 PuTTY 建立通道

PuTTY 是適用於 Windows 的圖形化 SSH 用戶端。 如果您不熟悉 PuTTY,請參閱 PuTTY 檔。 使用下列步驟來使用 PuTTY 建立 SSH 通道:

建立或載入工作階段

  1. 開啟 PuTTY,並確定 已選取左側功能表上的 [會話 ]。 如果您已儲存會話,請從 [已儲存的 會話] 清單中選取會話名稱,然後選取 [ 載入]。

  2. 如果您還沒有儲存的工作階段,請輸入您的連線資訊:

    屬性
    主機名稱(或 IP 位址) HDInsight 叢集的 SSH 位址。 例如, mycluster-ssh.azurehdinsight.net
    連接埠 22
    連線類型 SSH
  3. 選取儲存

    HDInsight create putty session.

  4. 對話框左側的 [類別] 區段中,展開 [連線 ion],展開 [SSH],然後選取 [通道]。

  5. 提供下列控制 SSH 連接埠轉送表單的選項資訊

    屬性
    來源連接埠 您要轉送之用戶端上的埠。 例如, 9876
    Destination HDInsight 叢集的 SSH 位址。 例如, mycluster-ssh.azurehdinsight.net
    動態 啟用動態SOCKS Proxy路由。

    PuTTY Configuration tunneling options.

  6. 選取 [新增 ] 以新增設定,然後選取 [ 開啟 ] 以開啟 SSH 連線。

  7. 出現提示時,請登入伺服器。

從瀏覽器使用通道

重要

本節中的步驟會使用Mozilla FireFox 瀏覽器,因為它在所有平臺上提供相同的 Proxy 設定。 其他新式瀏覽器,例如 Google Chrome,可能需要擴充功能,例如 FoxyProxy 才能使用通道。

  1. 將瀏覽器設定為使用 localhost ,以及建立通道 作為SOCKS v5 Proxy時所使用的埠。 以下是 Firefox 設定的外觀。 如果您使用的連接埠與 9876 不同,請將連接埠變更為您使用的連接埠:

    firefox browser proxy settings.

    注意

    選取 [ 遠端 DNS ] 會使用 HDInsight 叢集解析域名系統 (DNS) 要求。 此設定會使用叢集的前端節點解析 DNS。

  2. 造訪之類的 https://www.whatismyip.com/網站來確認通道是否正常運作。 傳回的IP應該是 Microsoft Azure 資料中心使用的IP。

使用Ambari Web UI進行驗證

建立叢集之後,請使用下列步驟來確認您可以從Ambari Web存取服務 Web UI:

  1. 在瀏覽器中,前往 http://headnodehost:8080。 位址 headnodehost 會透過通道傳送至叢集,並解析為Ambari正在執行的前端節點。 出現提示時,請輸入您叢集的系統管理員用戶名稱 (admin) 和密碼。 Ambari Web UI 可能會提示您第二次。 如果是,請重新輸入資訊。

    注意

    使用 http://headnodehost:8080 位址連線到叢集時,您會透過通道進行連線。 使用 SSH 通道而非 HTTPS 來保護通訊。 若要使用 HTTPS 透過因特網連線,請使用 https://clustername.azurehdinsight.net,其中 clustername 是叢集的名稱。

  2. 從Ambari Web UI中,從頁面左側清單中選取[HDFS]。

    Apache Ambari hdfs service selected.

  3. 顯示 HDFS 服務資訊時,請選取 [ 快速連結]。 叢集前端節點的清單隨即出現。 選取其中一個前端節點,然後選取 [名稱][節點 UI]。

    Image with the QuickLinks menu expanded.

    注意

    當您選取 [ 快速連結] 時,可能會取得等候指標。 如果您有緩慢的因特網連線,就可能發生此情況。 等候一兩分鐘,讓伺服器接收數據,然後再試一次清單。

    [快速連結] 功能表中的某些專案可能會被畫面右側截斷。 若是如此,請使用滑鼠展開功能表,並使用向右鍵將畫面捲動到右側,以查看功能表的其餘部分。

  4. 隨即顯示類似下圖的頁面:

    Image of the Hadoop NameNode UI.

    注意

    請注意此頁面的 URL;它應該類似 http://hn*.randomcharacters.cx.internal.cloudapp.net:8088/cluster。 此 URI 使用節點的內部完整功能變數名稱 (FQDN),而且只有在使用 SSH 通道時才能存取。

下一步

既然您已瞭解如何建立和使用 SSH 通道,請參閱下列檔以取得其他使用 Ambari 的方式: