首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行Hive Cli需要哪些权限?

运行Hive Cli需要哪些权限?
EN

Stack Overflow用户
提问于 2016-10-11 10:46:00
回答 2查看 661关注 0票数 0

我看到了运行蜂巢CLI的问题。当我在边缘节点上运行CLI时,会收到以下有关HDFS权限的错误:

代码语言:javascript
复制
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中的/user目录中,单元试图写到什么?

我已经看到/user/hive是创建的:

代码语言:javascript
复制
drwxrwxr-t   - hive          hive                0 2015-03-16 22:17 /user/hive

如您所见,我在Hadoop的kerberos auth后面。

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-11 11:24:00

Log表示,您需要将HDFS /user目录的权限设置为用户app1_K

命令

hadoop fs -setfacl -m -R user:app1_K:rwx /user

从Hadoop bin以特权用户的身份执行此命令

如果在任何其他hdfs目录上都有类似的权限错误,则必须授予该目录的权限。

有关更多信息,请参考下面的链接。

Lists

票数 0
EN

Stack Overflow用户

发布于 2016-10-11 13:45:57

与@Kumar建议的完全禁用HDFS访问权限不同,您可以简单地为系统上的每个新用户创建一个HDFS主dir,这样Hive/Spark/Pig/Sqoop作业有一个创建临时文件的有效位置.

在Kerberized集群上:

代码语言:javascript
复制
kinit hdfs@MY.REALM
hdfs dfs -mkdir /user/app1_k
hdfs dfs -chown app1_k:app1_k /user/app1_k

否则:

代码语言:javascript
复制
export HADOOP_USER_NAME=hdfs
hdfs dfs -mkdir /user/app1_k
hdfs dfs -chown app1_k:app1_k /user/app1_k
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39975563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档