Hive Metastore使用derby进行配置

时间:2016-02-05 11:07:35

标签: hadoop apache-spark hive derby

在RedHat测试服务器中,我安装了hadoop 2.7,然后我运行了Hive,Pig& Spark没有问题。但是当我试图从Spark访问Hive的Metore时我得到了错误所以我想把hive-site.xml(在解压缩'apache-hive-1.2.1-bin.tar.gz'文件之后我只是添加了按照教程的说法将$ HIVE_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设置为 localhost ,因为它是单节点机器。之后我甚至无法连接到Hive。它正在抛出错误

线程“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; create = true

有很多错误日志指向同一件事。如果我从conf文件夹中删除hive-site.xml,hive工作没有问题。任何人都可以指出我的默认Metastore配置的正确路径 谢谢 Anoop R

4 个答案:

答案 0 :(得分:1)

在设置嵌入式Metastore数据库时,请使用以下属性作为JDBC URL:

{{1}}

答案 1 :(得分:0)

安装配置单元时,我也遇到了类似的异常。对我有用的是初始化德比数据库。我使用以下命令来解决问题:command - &gt;转到$ HIVE_HOME / bin并运行命令schematool -initSchema -dbType derby。 您可以点击http://www.edureka.co/blog/apache-hive-installation-on-ubuntu

链接

答案 2 :(得分:0)

如果将derbyclient.jar放在hive的lib文件夹中,它将起作用

答案 3 :(得分:-1)

Derby用作嵌入式数据库。尝试使用

jdbc:derby:metastore_db;create=true

作为jdbc-url。另见

https://cwiki.apache.org/confluence/display/Hive/AdminManual+MetastoreAdmin#AdminManualMetastoreAdmin-EmbeddedMetastore

要使用完全功能的Metastore(以及能够从不同服务访问它),请尝试使用mysql进行设置,如上文所述。