无法从 $HIVE_HOME 以外的任何其他位置启动配置单元
Not able to start hive from any other location other than $HIVE_HOME
我已经用 Derby 10.12.1.1 安装了 Hive 2.1.0 我可以 运行 Hive 来自:
$HIVE_HOME
但是当我从另一个位置(例如根目录或其他位置)运行 时,它会抛出错误:
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>
问题已解决
我已经用 Derby 10.12.1.1 安装了 Hive 2.1.0 我可以 运行 Hive 来自:
$HIVE_HOME
但是当我从另一个位置(例如根目录或其他位置)运行 时,它会抛出错误:
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>
问题已解决