2017-03-03 64 views
0

我是新來的Hadoop和蜂巢所以這個問題可能是太基本蜂巢訪問問題 - 無法訪問蜂巢CLI沒有寫訪問

我使用Hadoop作爲一個非管理員用戶,也就是說,我不知道知道hdfs,root或超級用戶密碼。我的目標是查詢Hive表並可能做一些簡單的分析,但不能寫入hdfs或創建任何新表。

Logging initialized using configuration in file:/etc/hive/2.3.2.0-2950/0/hive-log4j.properties 
Exception in thread "main" java.lang.RuntimeException: org.apache.hadoop.security.AccessControlException: Permission denied: user=b001195, access=WRITE, inode="/user/b001195":hdfs:hdfs:drwxr-xr-x 
    at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:319) 

我可以看到,這個錯誤表明這個用戶沒有對hdfs的寫入權限。但我不想寫任何東西。任何人都可以請建議我可以通過我的訪問級別進行哪些更改以消除此問題?

在此先感謝您的幫助。

+0

是集羣採用Kerberos? –

+0

是的,我認爲集羣是kerberized – user3750170

回答

0

使用以下命令來查找有777個權限(/ tmp目錄可能)的HDFS目錄:

hdfs dfs -ls/

然後,一旦你找到那個目錄,添加以下連接你與蜂巢命令:

--hiveconf hive.exec.scratchdir=<DIRECTORY FOUND IN PREVIOUS STEP> 
+1

謝謝。我嘗試過,但它現在給我一個不同的錯誤:Permission denied:user = b001195,access = EXECUTE,inode =「/ user/hdfs/.hiveJars」:hdfs:hdfs:drwx ------。請建議我可以採取哪些措施。由於字符限制,我很抱歉發短信。 – user3750170

+0

沒問題的朋友! –

+0

@ user3750170 - 請將其作爲不同的問題打開 –

0

如果您在使用Kerberos的環境中,你必須在kerberize數據庫用戶名創建校長,你必須開出罰單,

注意

您將需要Kerberos管理員權限。

參考

https://web.mit.edu/kerberos/krb5-1.12/doc/admin/admin_commands__/kadmin_local.html

那麼你是很好的在Hadoop的環境中獲得,但是,讀/寫/執行Hadoop的目錄,你必須要麼:

  • 是目錄的所有者
  • 在該目錄中的組
  • 該目錄必須授予權限到其他羣體
  • 在Hadoop的超級用戶組,(正如你所說,你都沒有)根據我的使用Hadoop,Linux或甚至Windows服務器,大多數問題的經驗

與權限問題有關。

我想補充我的報價關於這個:)

When we achieve living in a world where we don't have and need any keys, locks, gates, safes, passwords, user permissions,or any security related time/money wasting obstacles, We can say we are living in a perfect society