2016-10-11 71 views
0

我在運行Hive CLI時遇到了問題。當我收到以下錯誤關於HDFS權限的邊緣節點上運行CLI:需要什麼權限才能運行Hive Cli

c784gnj:~ # sudo hive 
/usr/lib/hive/conf/hive-env.sh: line 5: /usr/lib/hive/lib/hive-hbase-handler-1.1.0-cdh5.5.2.jar,/usr/lib/hbase/hbase-common.jar,/usr/lib/hbase/lib/htrace-core4-4.0.1-incubating.jar,/usr/lib/hbase/lib/htrace-core-3.2.0-incubating.jar,/usr/lib/hbase/lib/htrace-core.jar,/usr/lib/hbase/hbase-hadoop2-compat.jar,/usr/lib/hbase/hbase-client.jar,/usr/lib/hbase/hbase-server.jar,/usr/lib/hbase/hbase-hadoop-compat.jar,/usr/lib/hbase/hbase-protocol.jar: No such file or directory 
Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release 
16/10/11 10:35:49 WARN conf.HiveConf: HiveConf of name hive.metastore.local does not exist 

Logging initialized using configuration in jar:file:/usr/lib/hive/lib/hive-common-1.1.0-cdh5.5.2.jar!/hive-log4j.properties 
Exception in thread "main" java.lang.RuntimeException: org.apache.hadoop.security.AccessControlException: Permission denied: user=app1_K, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x 
    at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.checkFsPermission(DefaultAuthorizationProvider.java:257) 
    at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.check(DefaultAuthorizationProvider.java:238) 
    at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.check(DefaultAuthorizationProvider.java:216) 

什麼是蜂巢試圖寫在HDFS的/用戶目錄?

我已經可以看到/用戶/蜂巢創建:

drwxrwxr-t - hive   hive    0 2015-03-16 22:17 /user/hive 

正如你可以看到我身後Hadoop上的Kerberos身份驗證。

在此先感謝!

回答

0

而是完全禁用HDFS的訪問權限,由@Kumar所建議的,你可能只是創建一個HDFS系統上的每個新用戶的主目錄,使蜂巢/星火/豬/ Sqoop工作有一個有效的位置創建臨時文件...

上的加密集羣:

kinit [email protected] 
hdfs dfs -mkdir /user/app1_k 
hdfs dfs -chown app1_k:app1_k /user/app1_k 

否則:

export HADOOP_USER_NAME=hdfs 
hdfs dfs -mkdir /user/app1_k 
hdfs dfs -chown app1_k:app1_k /user/app1_k 
+0

用戶已經擁有主目錄,因爲我可以使用此用戶使用hbase/spark hadoop fs。 – eboni

相關問題