在redhat测试服务器中,我安装了Hadoop2.7并运行了hive,pig&spark没有问题。但是当我试图从spark访问hive的metastore时,我遇到了错误,所以我想把hive site.xml(在提取了'apache-hive-1.2.1-bin.tar.gz'文件之后,我只是按照教程将$hive\u home添加到bashrc中,除了与spark的集成之外,其他一切都正常)放到apache站点中,我发现我需要hive-site.xml作为metastore配置,我创建了如下文件
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby://localhost:1527/metastore_db;create=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
</configuration>
我把ip作为本地主机,因为它是单节点机器。之后,我甚至无法连接到配置单元。这是抛出错误
线程“main”java.lang.runtimeexception中出现异常:java.lang.runtimeexception:无法示例化org.apache.hadoop.hive.ql.metadata.sessionhivemetastoreclient的org.apache.hadoop.hive.ql.session.sessionstate.start(sessionstate)。java:522)
.... 原因:javax.jdo.jdofataldatastoreexception:无法打开到给定数据库的测试连接。jdbc url=jdbc:derby://localhost:1527/metastore_db;create=true,username=app。正在终止连接池(如果希望在应用程序之后启动数据库,请将lazyinit设置为true)。原始异常:------java.sql.sqlexception:找不到适合的驱动程序jdbc:derby://localhost:1527/metastore_db;创建=真
有很多错误日志指向相同的东西。如果我从conf文件夹中删除hive-site.xml,那么hive就可以正常工作了
4条答案
按热度按时间2skhul331#
我在安装hive时也遇到了类似的异常。对我有效的是初始化derby数据库。我使用以下命令来解决这个问题:command->转到$hive\u home/bin并运行命令
schematool -initSchema -dbType derby
. 你可以点击链接http://www.edureka.co/blog/apache-hive-installation-on-ubuntubihw5rsg2#
derby被用作嵌入式数据库。尝试使用
作为jdbc url。另请参见
https://cwiki.apache.org/confluence/display/hive/adminmanual+metastoreadmin#adminmanualmetastoreadmin-嵌入式元存储
要完全使用metastore(并且能够从不同的服务访问它),请尝试使用上面文档中描述的mysql进行设置。
wrrgggsh3#
如果您将derbyclient.jar放在配置单元的lib文件夹中,它就会工作
4smxwvx54#
在设置嵌入式元存储数据库时,请使用以下属性作为jdbc url: