全部產品
Search
文件中心

E-MapReduce:SSH隧道訪問開源組件Web介面

更新時間:Mar 20, 2025

除了通過EMR控制台提供的連結地址訪問開源組件Web介面外,還可通過SSH隧道方式進行安全訪問。通過SSH隧道和SOCKS代理,您可在不暴露叢集內部網路結構的情況下訪問開源組件Web介面。

說明

開源組件Web介面訪問方式選擇,請參見查看開源組件 Web 介面

前提條件

SSH本地連接埠轉寄訪問

重要

此方式只能查看最外層的頁面,無法查看詳細的作業資訊。

您可以通過SSH本地連接埠轉寄,將叢集主節點的連接埠映射到本地連接埠,從而直接存取叢集主節點上啟動並執行Web應用介面。

1、建立SSH隧道

開啟本地命令列視窗,通過SSH方式串連到叢集主節點。您可根據您建立叢集時的配置選擇密碼方式或密鑰方式訪問。

密鑰方式訪問

ssh -i <密鑰檔案路徑> -N -L <本地連接埠>:<主節點的節點名稱>:<組件連接埠> root@<主節點公網IP地址>

相關參數描述如下:

  • -i :指定用於身分識別驗證的私密金鑰檔案路徑。

  • -N:僅用於設定連接埠轉寄,建立隧道而不需要執行命令。

  • -L:使用本地連接埠轉寄,用於將資料轉寄到主節點本地Web伺服器上標識的遠程連接埠。

  • <密鑰檔案路徑>:密鑰檔案儲存的路徑,詳情請參見管理金鑰組

  • <本地連接埠>:您可使用本機伺服器未被使用的任意一個連接埠(例如,8156)。

  • <主節點的節點名稱>:叢集詳情頁節點管理下主節點的節點名稱,詳情請參見擷取節點名稱(例如,master-1-1)。

  • <組件連接埠>:組件連接埠資訊請參見開源組件常用連接埠(例如,Yarn UI連接埠8088)。

  • <主節點公網IP地址>:叢集詳情頁節點管理下主節點的公網IP地址,詳情請參見擷取節點公網IP

密碼方式訪問

ssh -N -L <本地連接埠>:<主節點的節點名稱>:<組件連接埠> root@<主節點公網IP地址>

相關參數描述如下:

  • -N:僅用於設定連接埠轉寄,建立隧道而不需要執行命令。

  • -L:使用本地連接埠轉寄,用於將資料轉寄到主節點本地Web伺服器上標識的遠程連接埠。

  • <本地連接埠>:您可使用本機伺服器未被使用的任意一個連接埠(例如,8156)。

  • <主節點的節點名稱>:叢集詳情頁節點管理下主節點的節點名稱,詳情請參見擷取節點名稱(例如,master-1-1)。

  • <組件連接埠>:組件連接埠資訊請參見開源組件常用連接埠(例如,Yarn UI連接埠8088)。

  • <主節點公網IP地址>:叢集詳情頁節點管理下主節點的公網IP地址,詳情請參見擷取節點公網IP

重要

完成隧道建立之後,請保持終端開啟狀態,此時並不會返迴響應。

2、訪問開源組件地址

在瀏覽器地址欄輸入http://localhost:<本地連接埠>,即可訪問相應的Web UI。其中,<本地連接埠>為步驟1中配置的本地連接埠。例如,本樣本開啟http://localhost:8156即可訪問YARN UI。

說明

如果同時訪問多個開源組件的Web介面,需要重複此方式開啟另外一個本地連接埠進行轉寄。

SSH動態連接埠轉寄訪問

通過建立SSH隧道,將本地主機的請求通過一個SOCKSProxy 伺服器轉寄到叢集主節點。這樣,本機伺服器上的請求即可訪問叢集主節點上開源組件的Web介面資料。

1、建立SSH隧道

開啟本地命令列視窗,通過SSH方式串連到叢集主節點。您可根據您建立叢集時的配置選擇密碼方式或密鑰方式訪問。

密鑰方式訪問

ssh -i <密鑰檔案路徑> -N -D <連接埠> root@<主節點公網IP地址>

相關參數描述如下:

  • -i :指定用於身分識別驗證的私密金鑰檔案路徑。

  • -N:僅用於設定連接埠轉寄,建立隧道而不需要執行命令。

  • -D:使用動態連接埠轉寄,啟動SOCKS代理進程並偵聽使用者本地連接埠。

  • <密鑰檔案路徑>:密鑰檔案儲存的路徑,詳情請參見管理金鑰組

  • <連接埠>:您可使用本機伺服器未被使用的任意一個連接埠(例如,8157)。

  • <主節點公網IP地址>:叢集詳情頁節點管理下主節點的公網IP地址,詳情請參見擷取節點公網IP

密碼方式訪問

ssh -N -D <連接埠> root@<主節點公網IP地址>

相關參數描述如下:

  • -N:僅用於設定連接埠轉寄,建立隧道而不需要執行命令。

  • -D:使用動態連接埠轉寄,啟動SOCKS代理進程並偵聽使用者本地連接埠。

  • <連接埠>:您可使用本機伺服器未被使用的任意一個連接埠(例如,8157)。

  • <主節點公網IP地址>:叢集詳情頁節點管理下主節點的公網IP地址,詳情請參見擷取節點公網IP

重要

完成隧道建立之後,請保持終端開啟狀態,此時並不會返迴響應。

2、配置瀏覽器代理

完成動態轉寄配置以後,您可從以下兩種方式中選擇一種來進行瀏覽器代理配置。

Chrome瀏覽器命令列方式

  1. 開啟本地命令列視窗,進入本地Google Chrome瀏覽器用戶端的安裝目錄。

    作業系統

    Chrome預設安裝目錄

    macOS X

    /Applications/Google\ Chrome.app/Contents/macOS

    Linux

    /usr/bin/google-chrome

    Windows

    64位和32位系統預設路徑分別如下:

    • C:\Program Files\Google\Chrome\Application\

    • C:\Program Files (x86)\Google\Chrome\Application\

    說明

    作業系統不同,Chrome瀏覽器的預設安裝目錄不同。

  2. 將Google Chrome配置為通過本地SOCKS代理,並啟動Google Chrome瀏覽器。啟動連接埠為在步驟1建立SSH隧道中開啟的連接埠號碼。

    說明

    本樣本示範8157連接埠的命令。

    macOS X
    ./Google\ Chrome --proxy-server="socks5://localhost:8157" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost" --user-data-dir=/tmp/
    Linux
    chrome --proxy-server="socks5://localhost:8157" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost" --user-data-dir=/tmp/
    Windows
    chrome --proxy-server="socks5://localhost:8157" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost" --user-data-dir=c:\\tmppath\\

Chrome外掛程式代理方式

外掛程式方式可協助您更方便地在瀏覽器中管理和使用代理,確保網頁瀏覽和叢集Web介面訪問互不干擾。

  1. 安裝Chrome的SwitchyOmega外掛程式。

  2. 進入外掛程式配置頁面,單擊建立情景模式,輸入情景模式名稱(例如SSH tunnel),情景模式類型選擇PAC情景模式

  3. PAC指令碼中配置以下內容。

    說明

    本樣本示範8157連接埠的代碼。

    function regExpMatch(url, pattern) {
      try {
        return new RegExp(pattern).test(url);
      } catch (ex) {
        return false;
      }
    }
    
    function FindProxyForURL(url, host) {
      if (shExpMatch(url, "*localhost*")) return "SOCKS5 localhost:8157";
      if (shExpMatch(url, "*emr-header*")) return "SOCKS5 localhost:8157";
      if (shExpMatch(url, "*emr-worker*")) return "SOCKS5 localhost:8157";
      if (shExpMatch(url, "*master*")) return "SOCKS5 localhost:8157";
      if (shExpMatch(url, "*core*")) return "SOCKS5 localhost:8157";
      return 'DIRECT';
    }
  4. 完成上述參數配置後,在左側導覽列中單擊應用選項

  5. 在瀏覽器右上方,將代理模式切換至剛建立的SSH tunnel情景模式。

3、訪問開源組件地址

在瀏覽器地址欄輸入http://<主節點的節點名稱>:<連接埠>,即可訪問相應服務的Web介面。 例如,訪問YARN UI地址為http://master-1-1:8088

參數描述如下:

  • <主節點的節點名稱>:叢集詳情頁節點管理下主節點的節點名稱,詳情請參見擷取節點名稱(例如,master-1-1)。

  • <連接埠>:目標組件的實際連接埠。組件連接埠資訊請參見開源組件常用連接埠(例如,Yarn UI連接埠8088)。

說明

如果同時訪問多個開源組件的Web介面,直接修改連接埠即可。

相關文檔