无法进入Hive Shell

时间:2016-05-13 07:27:45

标签: java hadoop jdbc hive hiveql

我正在尝试从cli进入hive shell,但是它失败了,抛出以下错误: - 我按照此链接进行了安装: - http://www.tutorialspoint.com/hive/hive_installation.htm

  

线程“main”中的异常java.lang.RuntimeException:无法实例化org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

     

引起: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

     

java.sql.SQLException:无法打开与给定数据库的测试连接。 JDBC url = jdbc:derby:// localhost:1527 / metastore_db; create = true,username = APP。终止连接池(如果您希望在应用程序之后启动数据库,请将lazyInit设置为true)。原始例外:------   java.sql.SQLException:没有为jdbc找到合适的驱动程序:derby:// localhost:1527 / metastore_db; create = trueCaused by:java.sql.SQLException:无法打开与给定数据库的测试连接。 JDBC url = jdbc:derby:// localhost:1527 / metastore_db; create = true,username = APP。终止连接池(如果您希望在应用程序之后启动数据库,请将lazyInit设置为true)。

     

使用jar中的配置初始化日志:文件:/usr/local/hive/lib/hive-common-2.0.0.jar!/hive-log4j2.properties   线程“main”中的异常java.lang.RuntimeException:无法实例化org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

3 个答案:

答案 0 :(得分:1)

Place  sql driver in $HOME/lib folder


change hive-site.xml properties


<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>



<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive_metastore_db?createDatabaseIfNotExist=true</value>
  </property>



<property>
  <name>datanucleus.autoCreateSchema</name>
  <value>true</value>
</property>

<property>
  <name>datanucleus.fixedDatastore</name>
  <value>true</value>
</property>

<property>
 <name>datanucleus.autoCreateTables</name>
 <value>True</value>
 </property>

 <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>root</value>
    <description>password to use against metastore database</description>
  </property>


 <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
    <description>Username to use against metastore database</description>
  </property>

答案 1 :(得分:0)

你所指的安装hive的链接看起来很旧(对于apache-hive- 0.14.0 ,这需要一个单独的derby数据库)。

代替这一点,您可以尝试安装具有内置derby数据库的apache-hive- 1.2.1 ,而不必显式安装和配置数据库。

您可以尝试此博客install-hive-121-on-ubuntu-1404

中提到的步骤

答案 2 :(得分:0)

您必须在启动配置单元服务器之前启动Derby数据库。

1527端口是德比港。 在启动配置单元服务器时,最初它访问derby端口。

所以转到Derby \ bin并输入“startNetworkServer”

给出上面的命令后1527端口会监听, 然后启动hive Metastore和hiveserver2。

现在,hive服务器能够正常工作。

当然这对你更有帮助