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