在使用apache hadoop1.2.1配置apache Hive1.0时遇到问题

在使用apache hadoop1.2.1配置apache Hive1.0时遇到问题,hadoop,hive,Hadoop,Hive,在.bashrc文件中配置后,在终端中运行配置单元时遇到以下提到的权限问题 hadoop@hadoop:~$ hive Logging initialized using configuration in jar:file:/home/hadoop/Downloads/apache-hive-1.0.0/lib/hive-common-1.0.0.jar!/hive-log4j.properties Exception in thread "main" java.lang.RuntimeExc

在.bashrc文件中配置后,在终端中运行配置单元时遇到以下提到的权限问题

hadoop@hadoop:~$ hive

Logging initialized using configuration in jar:file:/home/hadoop/Downloads/apache-hive-1.0.0/lib/hive-common-1.0.0.jar!/hive-log4j.properties
Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rwx--x--x
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:444)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:626)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:570)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.main(RunJar.java:160)

Caused by: java.lang.RuntimeException: The root scratch dir: /tmp/hive on HDFS should be writable. Current permissions are: rwx--x--x
at org.apache.hadoop.hive.ql.session.SessionState.createRootHDFSDir(SessionState.java:529)
at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs(SessionState.java:478)
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:430)
... 7 more

这是一个权限问题,与bashrc文件无关。在HDFS中为/tmp目录授予适当的权限,您应该会没事的

你可以用

hadoop fs -chmod [-R] <permissions> <directory>
hadoop fs-chmod[-R]
为什么对这个问题投1票?这个问题有什么问题吗?您的问题被否决了,因为错误堆栈清楚地表明问题出在/tmp文件所在的permissions.where上。我没有显式地将任何文件/文件夹名命名为“/tmp”。-我已经给出了“hadoop fs-chmod[-R]755/tmp/hive”命令。但它仍然给出了相同的错误。谁是目录的所有者?使用命令时删除方括号。R代表递归