2 java apache hadoop hive apache-zookeeper
我已经安装了Hive,但是当我编写命令来创建表"CREATE TABLE foo(id int,msg STRING);"时.我抛出异常"清理操作已完成FAILED:元数据错误:javax.jdo.JDOFatalDataStoreException:无法创建数据库'metastore_db',请参阅下一个有关details.NestedThrowables的异常:java.sql.SQLException:无法创建数据库'metastore_db',有关详细信息,请参阅下一个异常.FAILED:执行错误,从org.apache.hadoop.hive.ql.exec.DDLTask返回代码1".为什么会发生此异常,无论是配置问题还是其他问题.
我有同样的问题:
voicestreams @ voicestreams:〜/ testbed/eclipseprojects/workspace/mapreducesort/java $ hive
Hive历史文件=/tmp/root/hive_job_log_root_201210282200_1123208966.txt
hive> show tables
FAILED:元数据错误:javax.jdo.JDOFatalDataStoreException:无法创建数据库'/ var/lib/hive/metastore/metastore_db',有关详细信息,请参阅下一个异常.NestedThrowables:java.sql.SQLException:无法创建数据库'/ var/lib/hive/metastore/metastore_db',有关详细信息,请参阅下一个异常.FAILED:执行错误,从org.apache.hadoop.hive.ql.exec.DDLTask返回代码1
我使用apt-get install hadoop-hive安装了Hive.我从/ var/lib/hive /移动了Metastore后它工作了.我是通过编辑来完成的: /etc/hive/conf.dist/hive-site.xml
从:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby:;databaseName=/var/lib/hive/metastore/metastore_db;create=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
Run Code Online (Sandbox Code Playgroud)
至:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby:;databaseName=/home/voicestreams/hive/metastore/metastore_db;create=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
Run Code Online (Sandbox Code Playgroud)
`
基本上,我将databaseName =更改为可写目录(/ home/voicestreams/hive /)并且它有效.当然,我必须在再次运行配置单元之前创建/ home/voicestreams/hive /.希望这有帮助.