全部產品
Search
文件中心

E-MapReduce:Ranger

更新時間:Nov 21, 2025

Apache Ranger提供集中式的許可權管理架構,可以對Hadoop生態中的HDFS、Hive和YARN等組件進行細粒度的許可權存取控制,並且提供了Web UI方便管理員操作。

Ranger組件介紹

Ranger主要由三個組件組成:
  • Ranger Admin

    您可以建立和更新安全存取原則,這些策略被儲存在資料庫中。各個組件的Plugin定期對這些策略進行輪詢。

  • Ranger Plugins

    Plugin嵌入在各個叢集組件的進程裡,是一個輕量級的Java程式。例如,Ranger對Hive的組件,就被嵌入在Hiveserver2裡。這些Plugin從Ranger Admin服務端拉取策略,並把它們儲存在本地檔案中。當接收到來自組件的使用者請求時,對應組件的Plugin會攔截該請求,並根據安全性原則對其進行評估。

  • Ranger UserSync

    Ranger提供了一個使用者同步工具。您可以從Unix或者LDAP中拉取使用者和使用者組的資訊。這些使用者和使用者組的資訊被儲存在Ranger Admin的資料庫中,可以在定義策略時使用。

訪問Ranger UI

  1. 添加8443連接埠,具體操作請參見添加安全性群組規則

  2. 進入訪問連結與連接埠頁簽。

    1. 登入E-MapReduce控制台

    2. 在頂部功能表列處,根據實際情況選擇地區和資源群組

    3. 在EMR on ECS頁面,單擊目的地組群的叢集名稱。

    4. 單擊上方的訪問連結與連接埠頁簽。

  3. 訪問連結與連接埠頁面,單擊Ranger UI所在行的連結。

  4. 在Ranger UI登入介面,輸入使用者名稱和密碼。

    • 資料湖情境(DataLake叢集)

      • EMR-3.44.0及後續版本、EMR-5.10.0及後續版本

        預設使用者名為admin,密碼為Admin1234。

      • EMR-3.44.0之前版本、EMR-5.10.0之前版本

        預設使用者名為admin,密碼為admin1234。

    • 舊版資料湖情境(Hadoop叢集)

      預設的使用者名稱和密碼均為admin。

    如果忘記預設密碼,請參見常見問題

  5. 首次登入後,需要修改密碼並妥善儲存。

    說明

     EMR-3.53.0 之前版本和 EMR-5.19.0 之前版本,不需要修改密碼。若通過 Ranger UI 修改 admin 使用者密碼,可能導致部分組件或日誌出現以下錯誤:

    Request failed. loginId=null, logMessage="RANGER_ERROR_SERVICE_NOT_FOUND: ServiceName=emr-dls"
    javax.ws.rs.WebApplicationException: null

    此問題的原因是叢集中其他服務仍使用舊密碼串連 Ranger Admin,導致認證失敗。

    解決方案:將密碼改回初始密碼。

    mysql -urangeradmin -prangeradmin1234 
    update ranger.x_portal_user set password="257e4521fee681b67583e2e7a4ac1c28" where login_id="admin";
    1. 單擊上方的Settings

    2. 修改admin的密碼。

    3. 單擊右上方的admin > Log Out

      修改後即可使用新的密碼登入。

常見問題

如果通過Ranger UI修改了管理員密碼,如何確保許可權控制功能正常工作?

針對EMR-3.53.0及後續版本、EMR-5.19.0及後續版本的叢集,如果您通過Ranger UI修改了管理員密碼,請務必同步更新EMR控制台Ranger服務配置頁簽中的ranger.admin.password配置項。否則,可能導致組件開關Ranger許可權控制配置失敗。

  1. 登入E-MapReduce控制台

  2. 進入Ranger服務配置頁面。

    1. 單擊目的地組群操作列的叢集服務

    2. 單擊Ranger服務地區的配置

  3. 搜尋ranger.admin.password配置項,並將其值更新為您在Ranger UI中設定的新密碼。

  4. 儲存配置並按照提示進行操作,以確保更改生效。

如果忘記密碼無法登入Ranger UI時,該如何處理?

您可以按照如下方法處理:

  1. 登入叢集的Master節點,詳情請參見登入叢集

  2. 執行如下命令重設admin的密碼為初始密碼。

    • DataLake叢集

      • EMR-3.44.0及後續版本、EMR-5.10.0及後續版本

        mysql -urangeradmin -pRangeradmin1234 
        update ranger.x_portal_user set password="07e47d323c1c36c1dc2cc3966027d6f9" where login_id="admin";
      • EMR-3.44.0之前版本、EMR-5.10.0之前版本

        mysql -urangeradmin -prangeradmin1234 
        update ranger.x_portal_user set password="257e4521fee681b67583e2e7a4ac1c28" where login_id="admin";
    • Hadoop叢集

      mysql -urangeradmin -prangeradmin 
      update ranger.x_portal_user set password="ceb4f32325eda6142bd65215f4c0f371" where login_id="admin";