您好,登錄后才能下訂單哦!
這篇文章主要介紹hadoop中用戶有CREATE權限建表后但無HDFS文件的ACL訪問權限異常怎么回事,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
問題現象
測試環境
1.Redhat7.4
2.CDH6.2.0
3.集群啟用了Sentry和Kerberos
在C6集群中使用hive管理員創建一個測試庫acltest,將該庫的CREATE權限賦予ldapff組。ldapff用戶在該庫下創建的表,在命令行使用hadoop命令沒有權限訪問該表的hdfs目錄,提示沒有權限訪問。
為ldapff用戶授權acltest庫的CREATE權限
使用ldapff用戶創建測試表,并插入測試數據
在命令行使用hadoop命令訪問在acltest庫下創建的test表數據目錄
2
問題分析
ldapff用戶擁有acltest庫的CREATE權限,在該庫下創建的test表的owner為ldapff,但在HDFS上由于上級目錄(/user/hive/warehouse/acltest.db)沒有足夠的訪問權限,導致ldapff用戶無法訪問自己創建的test表的HDFS目錄。
1.當只賦予acltest庫的CRETATE權限給ldapff組時,查看/user/hive/warehouse/acltest.db目錄的ACL顯示如下
可以看到test表的父級目錄(/user/hive/warehouse/acltest.db),ldapff組的訪問權限為“group:ldapff:---”,因為ldapff組無權限訪問表的父級目錄,所以即使ldapff是test表的owner也無法正常訪問相應的HDFS目錄。
2. 需要為ldapff用戶授權acltest庫的SELECT權限,經過測試為ldapff組賦予了acltest庫的SELECT權限后是可以正常訪問該表的HDFS目錄
查看此時acltest庫的HDFS路徑ACL權限,顯示如下:
顯示ldapff組有查看acltest庫對應HDFS的讀和執行權限,再次訪問test表的HDFS路徑顯示成功
之前Database/Table和HDFS權限的對應關系為:SELECT=READ、ALL=WRITE,在C6中多了一個Privilege為CREATE,這是一個比較特殊的權限,所以無法對應到HDFS上的任何權限上去,而且CREATE權限管理的Object為Database和Table。所以這個CREATE無法直接Mapping到HDFS權限,也就是只能在HDFS文件的ACL上添加owner的rwx權限。
以上是“hadoop中用戶有CREATE權限建表后但無HDFS文件的ACL訪問權限異常怎么回事”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。