本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 SSH 連線至 Amazon EMR 叢集主節點
Secure Shell (SSH) 是一種網路協定,您可用來建立對遠端電腦的安全連線。建立連線後,本機電腦上的終端機就會像在遠端電腦上執行一樣。您在本機發出的命令會在遠端電腦上執行,而且從遠端電腦的命令輸出會出現在您的終端機視窗。
當您搭配 SSH 使用 時 AWS,您會連線到 EC2 執行個體,這是在雲端中執行的虛擬伺服器。使用 Amazon EMR 時,最常見的 SSH 用法是連接到 EC2 執行個體,它可充當叢集的主節點。
使用 SSH 連接到主節點可讓您監控叢集並與其互動。您可以在主節點上發出 Linux 命令、以互動方式執行應用程式 (如 Hive 和 Pig)、瀏覽目錄、閱讀日誌檔案等。也可以在 SSH 連線中建立一個通道來檢視主節點上託管的 Web 介面。如需詳細資訊,請參閱檢視 Amazon EMR 叢集上託管的 Web 介面。
若要使用 SSH 連接到主節點,您需要主節點的公有 DNS 名稱。此外,關聯到主節點的安全群組必須擁有傳入規則,以允許來自包含 SSH 連線起源用戶端之來源的 SSH (TCP 連接埠 22) 流量。您可能需要新增規則來允許來自您用戶端的 SSH 連接。如需修改安全群組規則的詳細資訊,請參閱《Amazon EC2 使用者指南》中的 使用 Amazon EMR 叢集的安全群組控制網路流量和將規則新增至安全群組。
擷取主節點的公有 DNS 名稱
可以使用 Amazon EMR 主控台和 AWS CLI來擷取主要公有 DNS 名稱。
在 Linux、Unix 和 Mac OS X 使用 SSH 和 Amazon EC2 私有金鑰連接到主節點
若要建立透過私有金鑰檔案驗證的 SSH 連線,您需要在啟動叢集時指定 Amazon EC2 金鑰對私有金鑰。如需存取金鑰對的詳細資訊,請參閱《Amazon EC2 使用者指南》中的 Amazon EC2 金鑰對。 Amazon EC2
在預設情況下,您的 Linux 電腦很可能包含 SSH 用戶端。例如,大多數的 Linux、Unix 和 macOS 作業系統都會安裝 OpenSSH。您可以藉由在命令列鍵入 ssh 來檢查 SSH 用戶端。如果您的電腦無法識別該命令,請安裝 SSH 用戶端以連接至主節點。OpenSSH 專案提供 SSH 工具完整套件的免費實作。如需詳細資訊,請參閱 OpenSSH
以下說明演示了在 Linux、Unix 和 Mac OS X 上開啟 Amazon EMR 主節點的 SSH 連線。
若要設定金鑰對私有金鑰檔案權限
在使用 Amazon EC2 金鑰對私密金鑰來建立 SSH 連線之前,必須設定 .pem
檔案的許可,以便只有金鑰擁有者能夠存取檔案。這是使用終端機或 建立 SSH 連線時的必要條件 AWS CLI。
-
確保已允許傳入 SSH 流量。如需說明,請參閱 連線至 Amazon EMR 之前:授權傳入流量。
-
尋找您的
.pem
檔案。這些說明假設檔案名為mykeypair.pem
且存放在目前的使用者主目錄中。 -
輸入以下命令來設定權限。將
~/mykeypair.pem
取代為金鑰對私有金鑰檔案的完整路徑和檔案名稱。例如C:/Users/<username>/.ssh/mykeypair.pem
。chmod 400
~/mykeypair.pem
如果您沒有設定
.pem
檔案的許可,您將會收到錯誤,告知您金鑰檔案未受保護且金鑰會遭到拒絕。若要連接,您只需在第一次使用金鑰對私有金鑰檔案時設定其許可。
使用終端連接到主節點
-
開啟終端機視窗。在 Mac OS X 上,選擇 Applications (應用程式) > Utilities (公用程式) > Terminal (終端機)。在其他 Linux 分佈,通常可於 Applications (應用程式) > Accessories (附屬應用程式) > Terminal (終端機) 找到終端機。
-
若要建立主節點的連線,請輸入下列命令。將
ec2-###-##-##-###.compute-1.amazonaws.com
取代為叢集的主要公有 DNS 名稱,並將~/mykeypair.pem
取代為.pem
檔案的完整路徑和檔案名稱。例如C:/Users/<username>/.ssh/mykeypair.pem
。ssh hadoop@
ec2-###-##-##-###.compute-1.amazonaws.com
-i~/mykeypair.pem
重要
在連接到 Amazon EMR 主節點時必須使用登入名稱
hadoop
;否則,您可能會看到與Server refused our key
類似的錯誤。 -
警告說明系統無法驗證您正要在連接之主機的真實性。輸入
yes
以繼續。 -
當您完成處理主節點時,輸入下列命令來關閉 SSH 連線。
exit
如果在使用 SSH 以連接到主節點時遇到困難,請參閱對執行個體連線進行疑難排解。
在 Windows 中使用 SSH 來連接至主節點
Windows 使用者可以使用 SSH 用戶端 (例如 PuTTY) 連接到主節點。連接到 Amazon EMR 主節點之前,應該下載並安裝 PuTTY 和 PuTTYgen。可以從 PuTTY 下載頁面
PuTTY 原生並不支援 Amazon EC2 所產生的金鑰對私有金鑰檔案格式 (.pem
)。可使用 PuTTYgen 將金鑰檔案轉換為所需的 PuTTY 格式 (.ppk
)。必須將金鑰轉換為此格式 (.ppk
),再嘗試使用 PuTTY 連接至主節點。
如需轉換金鑰的詳細資訊,請參閱《Amazon EC2 使用者指南》中的使用 PuTTYgen 轉換私有金鑰。
使用 PuTTY 連接至主節點
-
確保已允許傳入 SSH 流量。如需說明,請參閱 連線至 Amazon EMR 之前:授權傳入流量。
-
打開
putty.exe
. 也可以從 Windows 程式清單啟動 PuTTY。 -
必要時,選擇 Category (類別) 清單中的 Session (工作階段)。
-
對於 Host Name (or IP address) (主機名稱 (或 IP 地址)),輸入
hadoop@
MasterPublicDNS
。例如:hadoop@
ec2-###-##-##-###.compute-1.amazonaws.com
。 -
在 Category (類別) 清單中選擇 Connection > SSH (連線 > SSH)、Auth。
-
針對 Private key file for authentication (要身分驗證的私密金鑰檔案),選擇 Browse (瀏覽) 並選取您產生的
.ppk
檔案。 -
選擇開啟,然後選擇是,關閉 PuTTY 安全提醒。
重要
登入主節點類型時,如果系統提示您輸入使用者名稱,請輸入
hadoop
。 -
當您完成處理主節點時,可以透過關閉 PuTTY 來關閉 SSH 連線。
注意
為避免 SSH 連線逾時,可以選擇類別清單中的連線,並選取選項 Enable TCP_keepalives。如果您在 PuTTY 中擁有作用中的 SSH 工作階段,可以開啟 PuTTY 標題列的內容 (按一下滑鼠右鍵) 並選擇變更設定來變更設定。
如果在使用 SSH 以連接到主節點時遇到困難,請參閱對執行個體連線進行疑難排解。
使用 AWS CLI連接至主節點
您可以使用 Windows AWS CLI 和 Linux、Unix 和 Mac OS X 上的 與主要節點建立 SSH 連線。無論平台為何,您都需要主要節點的公有 DNS 名稱和 Amazon EC2 金鑰對私有金鑰。如果您在 Linux、Unix 或 Mac OS X AWS CLI 上使用 ,您還必須在私有金鑰 (.pem
或 .ppk
) 檔案上設定許可,如 所示若要設定金鑰對私有金鑰檔案權限。
使用 連線至主要節點 AWS CLI
-
確保已允許傳入 SSH 流量。如需說明,請參閱 連線至 Amazon EMR 之前:授權傳入流量。
-
若要擷取叢集識別符,輸入:
aws emr list-clusters
輸出會列出叢集 (包括叢集 ID)。請注意,叢集 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"
-
輸入下列命令以開啟主節點的 SSH 連線。在下列範例中,將
j-2AL4XXXXXX5T9
取代為叢集 ID,將~/mykeypair.key
取代為.pem
檔案 (適用於 Linux、Unix 和 Mac OS X) 或.ppk
檔案 (適用於 Windows) 的完整路徑和檔案名稱。例如C:\Users\<username>\.ssh\mykeypair.pem
。aws emr ssh --cluster-id
j-2AL4XXXXXX5T9
--key-pair-file~/mykeypair.key
-
當您完成主要節點的工作時,請關閉 AWS CLI 視窗。
如需詳細資訊,請參閱 AWS CLI中的 Amazon EMR 命令。如果在使用 SSH 以連接到主節點時遇到困難,請參閱對執行個體連線進行疑難排解。