我已经使用 Derby 10.12.1.1 安装了 Hive 2.1.0 我可以从以下位置运行 Hive:
$HIVE_HOME
但是当我从另一个位置运行时,比如 root 或其他地方,它会抛出一个错误:
Exception in thread "main" java.lang.RuntimeException: Couldn't create directory $/tmp/98e1866e-f8c7-451d-b958-1f773f0c4b02_resources at org.apache.hadoop.hive.ql.util.ResourceDownloader.ensureDirectory(ResourceDownloader.java:123) at org.apache.hadoop.hive.ql.util.ResourceDownloader.(ResourceDownloader.java:48) at org.apache.hadoop.hive.ql.session.SessionState.(SessionState.java:376) at org.apache.hadoop.hive.ql.session.SessionState.(SessionState.java:350) at org.apache.hadoop.hive.cli.CliSessionState.(CliSessionState.java:60) at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:663) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:641) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.hadoop.util.RunJar.run(RunJar.java:221) at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
有人能帮帮我吗?
最佳答案
我通过编辑 hive-site.xml 找出答案
<property>
<name>hive.downloaded.resources.dir</name>
<value>$/tmp/${hive.session.id}_resources</value>
<description>Temporary local directory for added resources in the remote file system.</description>
并将其更改为
<property>
<name>hive.downloaded.resources.dir</name>
<value>/home/hduser/hive/tmp/${hive.session.id}_resources</value>
<description>Temporary local directory for added resources in the remote file system.</description>
问题解决了
关于ubuntu - 无法从 $HIVE_HOME 以外的任何其他位置启动配置单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38189453/