本文介紹JindoFS的namespace的儲存模式(Block或Cache)支援的檔案系統許可權功能。Block模式和Cache模式不支援切換。
背景資訊
根據您namespace的儲存模式,JindoFS支援的系統許可權如下:
- 當您namespace的儲存模式是Block模式時,支援Unix和Ranger許可權。
- Unix許可權:您可以設定檔案的777許可權,以及Owner和Group。
- Ranger許可權:您可以執行複雜或進階操作。例如使用路徑萬用字元。
- 當您namespace的儲存模式是Cache模式時,僅支援Ranger許可權。
您可以執行複雜或進階操作。例如使用路徑萬用字元。

啟用JindoFS Unix許可權
- 進入SmartData服務。
- 登入阿里雲E-MapReduce控制台。
- 在頂部功能表列處,根據實際情況選擇地區和資源群組。
- 單擊上方的叢集管理頁簽。
- 在叢集管理頁面,單擊相應叢集所在行的詳情。
- 在左側導覽列,選擇。
- 登入阿里雲E-MapReduce控制台。
- 進入namespace服務配置。
- 單擊配置頁簽。
- 單擊namespace。

- 單擊自訂配置,在新增配置項對話方塊中,設定Key為jfs.namespaces.<namespace>.permission.method,Value為unix,單擊確定。
- 儲存配置。
- 單擊右上方的儲存。
- 在確認修改對話方塊中,輸入執行原因,開啟自動更新配置。
- 單擊確定。
- 重啟配置。
- 單擊右上方的。
- 輸入執行原因,單擊確定。
開啟檔案系統許可權後,使用方式跟HDFS一樣。支援以下命令。hadoop fs -chmod 777 jfs://{namespace_name}/dir1/file1 hadoop fs -chown john:staff jfs://{namespace_name}/dir1/file1如果使用者對某一個檔案沒有許可權,將返回如下錯誤資訊。
啟用JindoFS Ranger許可權
您可以在Apache Ranger組件上配置使用者權限,在JindoFS上開啟Ranger外掛程式後,就可以在Ranger上對JindoFS許可權(和其它組件許可權)進行一站式管理。
- 添加Ranger。
- 在namespace頁簽,單擊自訂配置。
- 在新增配置項對話方塊中,設定Key為jfs.namespaces.<namespace>.permission.method,Value為ranger。
- 儲存配置。
- 單擊右上方的儲存。
- 在確認修改對話方塊中,輸入執行原因,開啟自動更新配置。
- 單擊確定。
- 重啟配置。
- 單擊右上方的。
- 輸入執行原因,單擊確定。
- 配置Ranger。
- 進入Ranger UI頁面。詳情請參見概述。
- Ranger UI添加HDFS service。

- 配置相關參數。
參數 描述 Service Name 固定格式:jfs-{namespace_name}。 例如:jfs-test。
Username 自訂。 Password 自訂。 Namenode URL 輸入jfs://{namespace_name}/。 Authorization Enabled 使用預設值No。 Authentication Type 使用預設值Simple。 dfs.datanode.kerberos.principal 不填寫。 dfs.namenode.kerberos.principal dfs.secondary.namenode.kerberos.principal Add New Configurations - 單擊Add。
- 進入Ranger UI頁面。
啟用JindoFS Ranger許可權+LDAP使用者組
如果您在Ranger UserSync上開啟了從LDAP同步處理的使用者組資訊的功能,則JindoFS也需要修改相應的配置,以擷取LDAP的使用者組資訊,從而對目前使用者組進行Ranger許可權的校正。
- 在namespace頁簽,單擊自訂配置。
- 在新增配置項對話方塊中,參見以下樣本設定參數來配置LDAP,單擊確定。以下配置項請遵循開源HDFS內容,詳情請參見core-default.xml。
參數 樣本 hadoop.security.group.mapping org.apache.hadoop.security.CompositeGroupsMapping hadoop.security.group.mapping.providers shell4services,ad4users hadoop.security.group.mapping.providers.combined true hadoop.security.group.mapping.provider.shell4services org.apache.hadoop.security.ShellBasedUnixGroupsMapping hadoop.security.group.mapping.provider.ad4users org.apache.hadoop.security.LdapGroupsMapping hadoop.security.group.mapping.ldap.url ldap://emr-header-1:10389 hadoop.security.group.mapping.ldap.search.filter.user (&(objectClass=person)(uid={0})) hadoop.security.group.mapping.ldap.search.filter.group (objectClass=groupOfNames) hadoop.security.group.mapping.ldap.base o=emr - 儲存配置。
- 單擊右上方的儲存。
- 在確認修改對話方塊中,輸入執行原因,開啟自動更新配置。
- 單擊確定。
- 重啟配置。
- 單擊右上方的。
- 輸入執行原因,單擊確定。
- 通過SSH登入emr-header-1節點,配置Ranger UserSync並啟用LDAP選項。詳情請參見Ranger Usersync整合LDAP。