全部產品
Search
文件中心

E-MapReduce:Knox

更新時間:Apr 17, 2025

本文介紹如何在E-MapReduce上配置Knox,以通過公網方式訪問HDFS、YARN、Spark和Ganglia等Web UI頁面。

前提條件

已建立選擇了Knox服務的E-MapReduce,詳情請參見建立叢集

說明

如果您建立的叢集未選擇Knox服務,可以通過新增服務來添加。 

準備工作

設定安全性群組訪問

  1. 擷取您當前裝置的公網訪問IP地址。

    為了安全的訪問叢集組件,在設定安全性群組策略時,推薦您只針對當前的公網訪問IP地址開放。訪問IP地址,即可查看您當前的公網訪問IP地址。

  2. 添加連接埠:

    本文以添加8443連接埠為例介紹。

    1. 在EMR控制台叢集的基礎資訊頁面的安全地區,單擊叢集安全性群組右側的連結。

    2. 安全性群組頁面,單擊入方向中的增加規則

    3. 訪問來源填寫為上一步驟中擷取的公網訪問IP地址,訪問目的填寫為8443/8443

    4. 單擊儲存

重要
  • 為防止被外部的使用者攻擊導致安全問題,授權對象禁止填寫為0.0.0.0/0

  • 如果您建立叢集時,沒有掛載公網IP,可以在ECS控制台為Master節點上的ECS執行個體添加公網IP。

設定Knox使用者

訪問Knox時需要驗證身份,即需要輸入您的使用者名稱和密碼。Knox的使用者身分識別驗證基於LDAP,您可以使用叢集中Apache Directory Server的LDAP服務。

  • 方式一(推薦)

    在EMR on ECS頁面,單擊目的地組群的叢集名稱。單擊上方的使用者管理頁簽,直接添加Knox訪問帳號,詳情請參見使用者管理

  • 方式二 :

    1. 通過SSH方式串連叢集,詳情請參見登入叢集

    2. 準備您的使用者資料,例如Tom。

      編輯users.ldif檔案。

      su knox
      vim /opt/apps/KNOX/knox-current/templates/users.ldif

      替換檔案中所有的emr-guestTom,替換EMR GUESTTom,設定userPassword的值為您自己的密碼。

    3. 執行以下命令,匯入使用者資料至LDAP。

      cd /opt/apps/KNOX/knox-current/templates
      sh ldap-sample-users.sh

訪問Web UI

訪問Web UI的詳情,請參見通過控制台訪問開源組件Web介面

常見問題

  • Q:Knox組件異常停止,啟動Knox的時候報錯Failed to start gateway: org.apache.hadoop.gateway.services.ServiceLifecycleException: Gateway SSL Certificate is Expired,具體資訊如下圖所示。ERROR

  • A:您可以按照以下步驟處理。

    1. 使用SSH登入叢集,詳情請參見登入叢集

    2. 執行以下命令,將之前錯誤的認證重新命名。

      sudo mv /opt/apps/KNOX/knox-current/data/security/keystores/gateway.jks /opt/apps/KNOX/knox-current/data/security/keystores/bak_gateway.jks
      說明

      您也可以將之前錯誤的認證移動到其他目錄。

    3. 啟動Knox。

      1. 在EMR控制台的叢集服務頁面,選擇Knox服務地區的more > 啟動

      2. 在彈出的對話方塊中,輸入執行原因,單擊確定

      3. 確認對話方塊中,單擊確定