Hive - 开始使用hadoop 2.7.3和derby

时间:2016-10-07 09:08:34

标签: java apache hadoop hive derby

例外:

  

使用配置初始化日志记录   罐子:文件:/usr/local/hive/lib/hive-common-2.1.0.jar /hive-log4j2.properties   Async:true线程中的异常" main"了java.lang.RuntimeException:   org.apache.hadoop.hive.ql.metadata.HiveException:   java.lang.RuntimeException:无法实例化   org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient at   org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:578)     在   org.apache.hadoop.hive.ql.session.SessionState.beginStart(SessionState.java:518)     在org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:705)at   org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:641)at at   sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)     在   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     在java.lang.reflect.Method.invoke(Method.java:606)at   org.apache.hadoop.util.RunJar.run(RunJar.java:221)at   org.apache.hadoop.util.RunJar.main(RunJar.java:136)引起:   org.apache.hadoop.hive.ql.metadata.HiveException:   java.lang.RuntimeException:无法实例化   org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient at   org.apache.hadoop.hive.ql.metadata.Hive.registerAllFunctionsOnce(Hive.java:226)     在org.apache.hadoop.hive.ql.metadata.Hive。(Hive.java:366)at   org.apache.hadoop.hive.ql.metadata.Hive.create(Hive.java:310)at at   org.apache.hadoop.hive.ql.metadata.Hive.getInternal(Hive.java:290)at   org.apache.hadoop.hive.ql.metadata.Hive.get(Hive.java:266)at at   org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:545)     ... 9更多引起:java.lang.RuntimeException:无法执行   实例   org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient at   org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1627)     在   org.apache.hadoop.hive.metastore.RetryingMetaStoreClient。(RetryingMetaStoreClient.java:80)     在   org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:130)     在   org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:101)     在   org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:3317)     在org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:3356)at   org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:3336)at at   org.apache.hadoop.hive.ql.metadata.Hive.getAllFunctions(Hive.java:3590)     在   org.apache.hadoop.hive.ql.metadata.Hive.reloadFunctions(Hive.java:236)     在   org.apache.hadoop.hive.ql.metadata.Hive.registerAllFunctionsOnce(Hive.java:221)     ... 14更多引起:java.lang.reflect.InvocationTargetException     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native   方法)at   sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)     在   sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)     at java.lang.reflect.Constructor.newInstance(Constructor.java:526)     在   org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1625)     ... 23更多引起:javax.jdo.JDOFatalInternalException:错误   创建事务连接工厂NestedThrowables:   java.lang.reflect.InvocationTargetException at   org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:671)     在   org.datanucleus.api.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:834)     在   org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:338)     在   org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:217)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)     在   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     在java.lang.reflect.Method.invoke(Method.java:606)at   javax.jdo.JDOHelper $ 16.run(JDOHelper.java:1965)at   java.security.AccessController.doPrivileged(Native Method)at   javax.jdo.JDOHelper.invoke(JDOHelper.java:1960)at   javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1166)     在   javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:808)     在   javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:701)     在   org.apache.hadoop.hive.metastore.ObjectStore.getPMF(ObjectStore.java:424)     在   org.apache.hadoop.hive.metastore.ObjectStore.getPersistenceManager(ObjectStore.java:453)     在   org.apache.hadoop.hive.metastore.ObjectStore.initialize(ObjectStore.java:327)     在   org.apache.hadoop.hive.metastore.ObjectStore.setConf(ObjectStore.java:294)     在   org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:76)     在   org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:136)     在   org.apache.hadoop.hive.metastore.RawStoreProxy。(RawStoreProxy.java:58)     在   org.apache.hadoop.hive.metastore.RawStoreProxy.getProxy(RawStoreProxy.java:67)     在   org.apache.hadoop.hive.metastore.HiveMetaStore $ HMSHandler.newRawStore(HiveMetaStore.java:581)     在   org.apache.hadoop.hive.metastore.HiveMetaStore $ HMSHandler.getMS(HiveMetaStore.java:546)     在   org.apache.hadoop.hive.metastore.HiveMetaStore $ HMSHandler.createDefaultDB(HiveMetaStore.java:612)     在   org.apache.hadoop.hive.metastore.HiveMetaStore $ HMSHandler.init(HiveMetaStore.java:398)     在   org.apache.hadoop.hive.metastore.RetryingHMSHandler。(RetryingHMSHandler.java:78)     在   org.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:84)     在   org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:6396)     在   org.apache.hadoop.hive.metastore.HiveMetaStoreClient。(HiveMetaStoreClient.java:236)     在   org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient。(SessionHiveMetaStoreClient.java:70)     ... 28更多引起:java.lang.reflect.InvocationTargetException     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native   方法)at   sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)     在   sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)     at java.lang.reflect.Constructor.newInstance(Constructor.java:526)     在   org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:606)     在   org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:330)     在   org.datanucleus.store.AbstractStoreManager.registerConnectionFactory(AbstractStoreManager.java:203)     在   org.datanucleus.store.AbstractStoreManager。(AbstractStoreManager.java:162)     在   org.datanucleus.store.rdbms.RDBMSStoreManager。(RDBMSStoreManager.java:284)     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native   方法)at   sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)     在   sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)     at java.lang.reflect.Constructor.newInstance(Constructor.java:526)     在   org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:606)     在   org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:301)     在   org.datanucleus.NucleusContextHelper.createStoreManagerForProperties(NucleusContextHelper.java:133)     在   org.datanucleus.PersistenceNucleusContextImpl.initialise(PersistenceNucleusContextImpl.java:420)     在   org.datanucleus.api.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:821)     ... 57更多引起:org.datanucleus.exceptions.NucleusException:   尝试调用" BONECP"插件创建一个ConnectionPool给出   错误:指定的数据存储驱动程序   (" org.apache.derby.jdbc.ClientDriver")在CLASSPATH中找不到。   请检查您的CLASSPATH规范以及驱动程序的名称。     在   org.datanucleus.store.rdbms.ConnectionFactoryImpl.generateDataSources(ConnectionFactoryImpl.java:232)     在   org.datanucleus.store.rdbms.ConnectionFactoryImpl.initialiseDataSources(ConnectionFactoryImpl.java:117)     在   org.datanucleus.store.rdbms.ConnectionFactoryImpl。(ConnectionFactoryImpl.java:82)     ... 75更多引起:   org.datanucleus.store.rdbms.connectionpool.DatastoreDriverNotFoundException:   指定的数据存储驱动程序(" org.apache.derby.jdbc.ClientDriver")   在CLASSPATH中找不到。请检查你的CLASSPATH   规范和驱动程序的名称。在   org.datanucleus.store.rdbms.connectionpool.AbstractConnectionPoolFactory.loadDriver(AbstractConnectionPoolFactory.java:58)     在   org.datanucleus.store.rdbms.connectionpool.BoneCPConnectionPoolFactory.createConnectionPool(BoneCPConnectionPoolFactory.java:54)     在   org.datanucleus.store.rdbms.ConnectionFactoryImpl.generateDataSources(ConnectionFactoryImpl.java:213)     ......还有77个

蜂房-site.xml中

<?xml version="1.0"?>
<configuration>
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:derby:;databaseName=/usr/local/hive/metastore_db;create=true</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>

<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>org.apache.derby.jdbc.ClientDriver</value>
  <description>Driver class name for a JDBC metastore</description>
</property>
</configuration>

1 个答案:

答案 0 :(得分:0)

1)将javax.jdo.option.ConnectionDriverName的值替换为org.apache.derby.jdbc.EmbeddedDriver

2)在http://central.maven.org/maven2/org/apache/derby/derbyclient/10.10.1.1/derbyclient-10.10.1.1.jar路径

中添加hive-client/lib

再试一次