為什麼我的 Amazon EMR 叢集無法連線?

1 分的閱讀內容
0

我無法連線到自己的 Amazon EMR 叢集

簡短說明

以下是 EMR 叢集無法連線的常見原因:

  • 安全群組規則有權限問題。
  • 在私有子網路中佈建的叢集,其網路設定不正確。
  • 叢集身分驗證設定有問題。
  • 叢集節點的資源有限制。
  • Amazon EMR 服務常駐程式已停止。

解決方案

Amazon EMR 安全群組規則

1.    確認安全群組規則正確無誤。如需詳細資訊,請參閱 Working with Amazon EMR-managed security groups (使用 Amazon EMR 管理的安全群組)。

2.    確認連接埠 8443 上允許使用 TCP。連接埠 8443 允許叢集管理員與叢集主節點相互通訊。

3.    如果您嘗試透過 SSH 連線到叢集,請確認連接埠 22 上允許使用 SSH。

4.    如果外部使用者或應用程式無法連線到 EMR 叢集,請驗證受管安全群組中設定的相關規則。同時驗證其他安全群組中的規則。

私有子網路中的 EMR 叢集

除了上一節中提到的項目之外,亦請針對私有子網路中的 EMR 叢集確認下列事項:

1.    確認已新增用於服務存取的其他受管安全群組。確認規則允許叢集管理員與叢集節點進行通訊。如需詳細資訊,請參閱 Amazon EMR-managed security group for service access (private subnets) (Amazon EMR 管理的服務存取 (私有子網路) 安全群組)。

2.    如果您使用堡壘主機,但無法透過堡壘主機與 Amazon EMR 連線,請執行下列動作:

  • 確認堡壘主機安全群組允許來自用戶端系統的輸入流量。
  • 確認 EMR 叢集安全群組允許來自堡壘主機的輸入流量。

由於網絡組態設定不盡相同,請務必設定正確的端對端連線,避免產生任何黑洞。

身分驗證方法

為了確保身分驗證設定正確,請執行下列動作:

1.    如果使用 Amazon Elastic Compute Cloud (Amazon EC2) 金鑰對進行身分驗證,請確認已正確建立並設定金鑰對。如需詳細資訊,請參閱 Use an Amazon EC2 key pair for SSH credentials (使用 Amazon EC2 金鑰對作為 SSH 憑證)。

2.    如果使用 Kerberos 進行身分驗證,請確認其設定正確。如需詳細資訊,請參閱 Use Kerberos authentication (使用 Kerberos 進行身分驗證)。

叢集節點的資源限制

1.    確認基礎主節點處於執行中狀態且未終止。

2.    檢查主節點的執行個體狀態日誌,以便確定資源的使用方式。

執行以下命令以查看 CPU 使用量排名第一的使用者:

ps auxwww --sort -%cpu | head -10

執行下列命令以檢查核心效能:

dmesg | tail -n 25

執行以下命令以檢查記憶體使用情況:

free -m

執行以下命令以檢查磁碟使用情況:

df -h

EMR 叢集常駐程式

主節點的執行個體控制器 (I/C) 是在叢集節點上執行的常駐程式。執行個體控制器會與 Amazon EMR 控制平面以及叢集的其餘部分進行通訊。執行下列命令以確保其處於執行中狀態:

執行下列命令以檢查執行個體控制器的狀態:

sudo systemctl status instance-controller

執行下列命令以啟動執行個體控制器:

sudo systemctl start instance-controller

AWS 官方
AWS 官方已更新 1 年前