本文介紹JindoFS的Block模式支援的檔案系統許可權功能,包括Unix許可權和Ranger許可權兩種。
背景資訊
您可以在Apache Ranger組件上配置使用者權限,在JindoFS上開啟Ranger外掛程式後,就可以在Ranger上對JindoFS許可權(和其它組件許可權)進行一站式管理。

Block模式支援Unix許可權和Ranger許可權兩種檔案系統許可權功能:
- Unix許可權:可以使用檔案的777許可權。
- Ranger許可權:可以使用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許可權
- 添加Ranger。
- 在namespace頁簽,單擊自訂配置。
- 在新增配置項對話方塊中,設定Key為jfs.namespaces.<namespace>.permission.method,Value為ranger。
- 儲存配置。
- 單擊右上方的儲存。
- 在確認修改對話方塊中,輸入執行原因,開啟自動更新配置。
- 單擊確定。
- 重啟配置。
- 單擊右上方的。
- 輸入執行原因,單擊確定。
- 配置Ranger。
- 進入Ranger UI頁面。詳情請參見概述。
- Ranger UI添加HDFS service。

- 配置相關參數。
參數 說明 Service Name jfs-{namespace_name}。 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,單擊確定。
參數 樣本 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 說明 配置項請遵循開源HDFS內容。 - 儲存配置。
- 單擊右上方的儲存。
- 在確認修改對話方塊中,輸入執行原因,開啟自動更新配置。
- 單擊確定。
- 重啟配置。
- 單擊右上方的。
- 輸入執行原因,單擊確定。
- 通過SSH登入emr-header-1節點,配置Ranger UserSync並啟用LDAP選項。詳情請參見Ranger Usersync整合LDAP。