選項 2,第 1 部分:使用動態連接埠轉送設定SSH通道至主要節點 - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

選項 2,第 1 部分:使用動態連接埠轉送設定SSH通道至主要節點

若要連線至主要節點上的本機 Web 伺服器,請在電腦與主要節點之間建立SSH通道。這就是所謂的連接埠轉送。如果您使用動態連接埠轉送來建立通SSH道,則路由至指定未使用之本機連接埠的所有流量都會轉送至主要節點上的本機 Web 伺服器。這將創建一個SOCKS代理。然後,您可以將網際網路瀏覽器設定為使用附加元件,例 SwitchyOmega 如 FoxyProxy 或管理 SOCKS Proxy 設定。

使用 Proxy 管理附加元件可讓您URLs根據文字模式自動篩選,並將 Proxy 設定限制為符合主要節點公用DNS名稱格式的網域。當您在主節點上託管的檢視網站和網際網路上的檢視網站之間切換時,瀏覽器附加元件會自動處理代理的開啟和關閉。

在開始之前,您需要主節點的公開DNS名稱和您的 key pair 私密金鑰檔案。如需如何尋找主要公用DNS名稱的相關資訊,請參閱擷取主節點的公用DNS名稱。如需存取 key pair 的詳細資訊,請參閱 Amazon EC2使用者指南中的 Amazon EC2 金鑰配對。如需您想要在主節點上檢視之網站的詳細資訊,請參閱 檢視在 Amazon EMR 叢集上託管的網頁界面

使用 Open 的動態連接埠轉送功能,設定SSH通往主節點的通道 SSH

使用開啟的動態連接埠轉送來設定SSH通道 SSH
  1. 確保您已允許入站SSH流量。如需說明,請參閱 連線之前:授權傳入流量

  2. 開啟終端機視窗。在 Mac OS X 上,選擇 Applications (應用程式) > Utilities (公用程式) > Terminal (終端機)。在其他 Linux 分佈,通常可於 Applications (應用程式) > Accessories (附屬應用程式) > Terminal (終端機) 找到終端機。

  3. 鍵入以下命令以在本地計算機上打開SSH隧道。Replace (取代) ~/mykeypair.pem 使用文件的位置和.pem文件名,替換 8157 使用未使用的本地端口號,並替換 ec2-###-##-##-###.compute-1.amazonaws.com 使用叢集的主要公用DNS名稱。

    ssh -i ~/mykeypair.pem -N -D 8157 hadoop@ec2-###-##-##-###.compute-1.amazonaws.com

    發出此命令後,終端會保持開啟,且不會傳回回應。

    注意

    -D 表示使用動態連接埠轉送,可讓您指定本機連接埠,用於將資料轉送至主節點本機 Web 伺服器上的所有遠端連接埠。動態連接埠轉送會在命令中指定的連接埠上建立本機 SOCKS Proxy 監聽。

  4. 通道處於活動狀態後,為您的瀏覽器配置SOCKS代理。如需詳細資訊,請參閱選項 2,第 2 部分:設定代理設定,以檢視主節點上託管的網站

  5. 當您在主節點完成 Web 介面的處理時,請關閉終端視窗。

使用動態連接埠轉送功能來設定SSH通道 AWS CLI

您可以使用 Windows 和 Linux、Unix 和 Mac OS X 上的與主節點建立SSH連接。如果您在 Linux、Unix 或 Mac OS X AWS CLI 上使用,則必須設定.pem檔案的權限,如中所示若要設定金鑰對私有金鑰檔案權限。 AWS CLI 如果您在 Windows AWS CLI 上使用,則 Pu TTY 必須出現在路徑環境變數中,否則您可能會收到錯誤,例如 [開啟] SSH 或 [Pu] TTY 無法使用

使用動態連接埠轉送來設定SSH通道 AWS CLI
  1. 確保您已允許入站SSH流量。如需說明,請參閱 連線之前:授權傳入流量

  2. 建立與主要節點的SSH連線,如所示使用 AWS CLI連接至主節點

  3. 若要擷取叢集識別符,輸入:

    aws emr list-clusters

    輸出會列出您的叢集,包括叢集IDs。請注意,叢集 ID 表示您正連接至其中的叢集。

    "Status": { "Timeline": { "ReadyDateTime": 1408040782.374, "CreationDateTime": 1408040501.213 }, "State": "WAITING", "StateChangeReason": { "Message": "Waiting after step completed" } }, "NormalizedInstanceHours": 4, "Id": "j-2AL4XXXXXX5T9", "Name": "AWS CLI cluster"
  4. 鍵入下列命令,以使用動態連接埠轉送開啟SSH通道至主要節點。在下列範例中,取代 j-2AL4XXXXXX5T9 使用群集 ID 並替換 ~/mykeypair.key 使用檔案的位置和檔.pem案名稱 (適用於 Linux、Unix 和 Mac OS X) 或.ppk檔案 (適用於視窗)。

    aws emr socks --cluster-id j-2AL4XXXXXX5T9 --key-pair-file ~/mykeypair.key
    注意

    socks 命令會在本機連接埠 8157 上自動設定動態連接埠轉送。目前,此設定無法修改。

  5. 通道處於活動狀態後,為您的瀏覽器配置SOCKS代理。如需詳細資訊,請參閱選項 2,第 2 部分:設定代理設定,以檢視主節點上託管的網站

  6. 當您完成使用主節點上的 Web 介面時,請關閉視 AWS CLI 窗。

    如需有關使用 Amazon EMR 命令的詳細資訊 AWS CLI,請參閱https://docs.aws.amazon.com/cli/latest/reference/emr

使用 Pu 設置SSH通道到主節點 TTY

Windows 使用者可以使用用SSH戶端 (例如 Pu) TTY 來建立SSH通往主要節點的通道。在連接到 Amazon EMR 主節點之前,您應該下載並安裝 Pu TTY 和 P uTTYgen。您可以從 Pu 下載頁面TTY下載這些工具。

Pu 本身TTY不支持 Amazon EC2 生成的密 key pair 私鑰文件格式(.pem)。您可以使uTTYgen 用 P 將金鑰檔案轉換為所需的 Pu TTY 格式 (.ppk)。在嘗試使用 Pu 連接到主節點之前,您必須將密鑰轉換為此格式(.ppk)TTY。

如需轉換金鑰的詳細資訊,請參閱 Amazon 使用EC2者指南uTTYgen中的使用 P 轉換私密金鑰

使用 Pu 使用動態連接埠轉送來設定SSH通道 TTY
  1. 確保您已允許入站SSH流量。如需說明,請參閱 連線之前:授權傳入流量

  2. 雙擊putty.exe以啟動 Pu TTY。您也可以TTY從 Windows 程序列表中啟動 Pu。

    注意

    如果您已經與主要節點有作用中的SSH工作階段,您可以在 Pu TTY 標題列上按一下滑鼠右鍵,然後選擇 「變更設定」 來新增通道。

  3. 必要時,選擇 Category (類別) 清單中的 Session (工作階段)

  4. 在「主機名稱」欄位中,輸入 hadoop@MasterPublicDNS。 例如:hadoop@ec2-###-##-##-###.compute-1.amazonaws.com.

  5. 在 [類別] 清單中,展開 [連線] > SSH,然後選擇 [驗證]。

  6. 針對 Private key file for authentication (要身分驗證的私密金鑰檔案),選擇 Browse (瀏覽) 並選取您產生的 .ppk 檔案。

    注意

    Pu 本身TTY不支持 Amazon EC2 生成的密 key pair 私鑰文件格式(.pem)。您可以使uTTYgen 用 P 將金鑰檔案轉換為所需的 Pu TTY 格式 (.ppk)。在嘗試使用 Pu 連接到主節點之前,您必須將密鑰轉換為此格式(.ppk)TTY。

  7. 在 [類別] 清單中,展開 [連線] > SSH,然後選擇 [通道]。

  8. 來源連接埠欄位中,輸入 8157 (未使用的本機連接埠),然後選擇新增

  9. Destination (目的地) 欄位保留空白。

  10. 選取 Dynamic (動態)Auto (自動) 選項。

  11. 選擇 Open (開啟)。

  12. 選擇 [是] 以關閉 Pu TTY 安全性警示。

    重要

    登入主節點時,如果系統提示您輸入使用者名稱,請輸入 hadoop

  13. 通道處於活動狀態後,為您的瀏覽器配置SOCKS代理。如需詳細資訊,請參閱選項 2,第 2 部分:設定代理設定,以檢視主節點上託管的網站

  14. 當您完成使用主節點上的 Web 介面時,請關閉 Pu TTY 視窗。