失败:语义异常org.apache.hadoop.hive.ql.metadata.HiveException:java.lang.RuntimeExcept

FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeExcept

我使用的是cdh 5.13.0环境 每当我尝试执行 hive cmd 时,它都会显示错误

失败:语义异常org.apache.hadoop.hive.ql.metadata.HiveException:java.lang.RuntimeException:无法实例化org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

我检查了配置单元-metastore.log,它显示

2018-05-02 06:15:53,225 错误 [main]: Datastore.Schema (Log4JLogger.java:error(125)) - 初始化数据库失败。 无法打开到给定数据库的测试连接。 JDBC url = jdbc:derby:;databaseName=metastore_db;create=true, username=APP.终止连接池(如果您希望在应用程序之后启动数据库,请将 lazyInit 设置为 true)。原始异常:------ java.sql.SQLException: 创建数据库失败'metastore_db',详情见下一异常。 在 org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(来源不明) 在 org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(来源不明) 在 org.apache.derby.impl.jdbc.Util.seeNextException(来源不明) 在 org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(来源不明) 在 org.apache.derby.impl.jdbc.EmbedConnection。(未知来源) 在 org.apache.derby.jdbc.InternalDriver.getNewEmbedConnection(来源不明) 在 org.apache.derby.jdbc.InternalDriver.connect(来源不明) 在 org.apache.derby.jdbc.InternalDriver.connect(来源不明) 在 org.apache.derby.jdbc.AutoloadedDriver.connect(来源不明) 在 java.sql.DriverManager.getConnection(DriverManager.java:571) 在 java.sql.DriverManager.getConnection(DriverManager.java:187) 在 com.jolbox.bonecp.BoneCP.obtainRawInternalConnection(BoneCP.java:361) 在 com.jolbox.bonecp.BoneCP.(BoneCP.java:416) 在 com.jolbox.bonecp.BoneCPDataSource.getConnection(BoneCPDataSource.java:120) 在 org.datanucleus.store.rdbms.ConnectionFactoryImpl$ManagedConnectionImpl.getConnection(ConnectionFactoryImpl.java:501) 在 org.datanucleus.store.rdbms.RDBMSStoreManager.(RDBMSStoreManager.java:298) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:526) 在 org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:631) 在 org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:301) 在 org.datanucleus.NucleusContext.createStoreManagerForProperties(NucleusContext.java:1187) 在 org.datanucleus.NucleusContext.initialise(NucleusContext.java:356) 在 org.datanucleus.api.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:775) 在 org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:333) 在 org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 javax.jdo.JDOHelper$16.run(JDOHelper.java:1965) 在 java.security.AccessController.doPrivileged(本机方法) 在 javax.jdo.JDOHelper.invoke(JDOHelper.java:1960) 在 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:418) 在 org.apache.hadoop.hive.metastore.ObjectStore.getPersistenceManager(ObjectStore.java:447) 在 org.apache.hadoop.hive.metastore.ObjectStore.initialize(ObjectStore.java:342) 在 org.apache.hadoop.hive.metastore.ObjectStore.setConf(ObjectStore.java:298) 在 org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:73) 在 org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133) 在 org.apache.hadoop.hive.metastore.RawStoreProxy.(RawStoreProxy.java:60) 在 org.apache.hadoop.hive.metastore.RawStoreProxy.getProxy(RawStoreProxy.java:69) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.newRawStore(HiveMetaStore.java:682) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:660) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:709) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:508) 在 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:6474) 在 org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:6469) 在 org.apache.hadoop.hive.metastore.HiveMetaStore.startMetaStore(HiveMetaStore.java:6719) 在 org.apache.hadoop.hive.metastore.HiveMetaStore.main(HiveMetaStore.java:6646) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 org.apache.hadoop.util.RunJar.run(RunJar.java:221) 在 org.apache.hadoop.util.RunJar.main(RunJar.java:136) Caused by: ERROR XJ041: Failed to create database 'metastore_db',详情见下一个异常。 在 org.apache.derby.iapi.error.StandardException.newException(来源不明) 在 org.apache.derby.impl.jdbc.SQLExceptionFactory.wrapArgsForTransportAcrossDRDA(来源不明) ... 61 更多 原因:错误 XBM0H:无法创建目录 /metastore_db。 在 org.apache.derby.iapi.error.StandardException.newException(来源不明) 在 org.apache.derby.iapi.error.StandardException.newException(来源不明) 在 org.apache.derby.impl.services.monitor.StorageFactoryService$10.run(来源不明) 在 java.security.AccessController.doPrivileged(本机方法) 在 org.apache.derby.impl.services.monitor.StorageFactoryService.createServiceRoot(未知来源) 在 org.apache.derby.impl.services.monitor.BaseMonitor.bootService(来源不明) 在 org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(来源不明) 在 org.apache.derby.impl.services.monitor.FileMonitor.createPersistentService(来源不明) 在 org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(未知来源)

... 还有 58 个

org.datanucleus.exceptions.NucleusDataStoreException: 无法打开到给定数据库的测试连接。 JDBC url = jdbc:derby:;databaseName=metastore_db;create=true, username=APP.终止连接池(如果您希望在应用程序之后启动数据库,请将 lazyInit 设置为 true)。原始异常:------ java.sql.SQLException: 创建数据库失败'metastore_db',详情见下一异常。 在 org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(来源不明) 在 org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(来源不明) 在 org.apache.derby.impl.jdbc.Util.seeNextException(来源不明) 在 org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(来源不明) 在 org.apache.derby.impl.jdbc.EmbedConnection。(未知来源) 在 org.apache.derby.jdbc.InternalDriver.getNewEmbedConnection(来源不明) 在 org.apache.derby.jdbc.InternalDriver.connect(来源不明) 在 org.apache.derby.jdbc.InternalDriver.connect(来源不明) 在 org.apache.derby.jdbc.AutoloadedDriver.connect(来源不明) 在 java.sql.DriverManager.getConnection(DriverManager.java:571) 在 java.sql.DriverManager.getConnection(DriverManager.java:187) 在 com.jolbox.bonecp.BoneCP.obtainRawInternalConnection(BoneCP.java:361) 在 com.jolbox.bonecp.BoneCP.(BoneCP.java:416) 在 com.jolbox.bonecp.BoneCPDataSource.getConnection(BoneCPDataSource.java:120) 在 org.datanucleus.store.rdbms.ConnectionFactoryImpl$ManagedConnectionImpl.getConnection(ConnectionFactoryImpl.java:501) 在 org.datanucleus.store.rdbms.RDBMSStoreManager.(RDBMSStoreManager.java:298) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:526) 在 org.datanucleus.plugin.NonManagedPluginRegistry.createExecutableExtension(NonManagedPluginRegistry.java:631) 在 org.datanucleus.plugin.PluginManager.createExecutableExtension(PluginManager.java:301) 在 org.datanucleus.NucleusContext.createStoreManagerForProperties(NucleusContext.java:1187) 在 org.datanucleus.NucleusContext.initialise(NucleusContext.java:356) 在 org.datanucleus.api.jdo.JDOPersistenceManagerFactory.freezeConfiguration(JDOPersistenceManagerFactory.java:775) 在 org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:333) 在 org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 javax.jdo.JDOHelper$16.run(JDOHelper.java:1965) 在 java.security.AccessController.doPrivileged(本机方法) 在 javax.jdo.JDOHelper.invoke(JDOHelper.java:1960) 在 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:418) 在 org.apache.hadoop.hive.metastore.ObjectStore.getPersistenceManager(ObjectStore.java:447) 在 org.apache.hadoop.hive.metastore.ObjectStore.initialize(ObjectStore.java:342) 在 org.apache.hadoop.hive.metastore.ObjectStore.setConf(ObjectStore.java:298) 在 org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:73) 在 org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133) 在 org.apache.hadoop.hive.metastore.RawStoreProxy.(RawStoreProxy.java:60) 在 org.apache.hadoop.hive.metastore.RawStoreProxy.getProxy(RawStoreProxy.java:69) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.newRawStore(HiveMetaStore.java:682) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:660) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:709) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:508) 在 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:6474) 在 org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:6469) 在 org.apache.hadoop.hive.metastore.HiveMetaStore.startMetaStore(HiveMetaStore.java:6719) 在 org.apache.hadoop.hive.metastore.HiveMetaStore.main(HiveMetaStore.java:6646) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 org.apache.hadoop.util.RunJar.run(RunJar.java:221) 在 org.apache.hadoop.util.RunJar.main(RunJar.java:136) Caused by: ERROR XJ041: Failed to create database 'metastore_db',详情见下一个异常。 在 org.apache.derby.iapi.error.StandardException.newException(来源不明) 在 org.apache.derby.impl.jdbc.SQLExceptionFactory.wrapArgsForTransportAcrossDRDA(来源不明) ... 61 更多 原因:错误 XBM0H:无法创建目录 /metastore_db。 在 org.apache.derby.iapi.error.StandardException.newException(来源不明) 在 org.apache.derby.iapi.error.StandardException.newException(来源不明) 在 org.apache.derby.impl.services.monitor.StorageFactoryService$10.run(来源不明) 在 java.security.AccessController.doPrivileged(本机方法) 在 org.apache.derby.impl.services.monitor.StorageFactoryService.createServiceRoot(未知来源) 在 org.apache.derby.impl.services.monitor.BaseMonitor.bootService(来源不明) 在 org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(来源不明) 在 org.apache.derby.impl.services.monitor.FileMonitor.createPersistentService(来源不明) 在 org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(未知来源)

... 还有 58 个

我不知道该怎么办。 hive-metastore 服务器的状态已关闭且未关闭

原因 描述导致问题的原因。 在这种情况下,内存不足 (OOM) 错误是服务器没有足够的内存来启动 HiveMetaStore 服务的结果。

美国广播公司

客户端hive-site.xml中配置了HiveMetaStore服务,但是没有启动服务

例如:

/etc/gphd/hive-0.11.0_gphd_2_1_0_0/conf/hive-site.xml

<property>
<name>hive.metastore.uris
<value>thrift://hdw1.viadea.com:9083
</property>

但是在 hdw1 上:

-bash-4.1$ service hive-metastore status
hive-metastore dead but pid file exists

通过观察hive-metastore.log,可以看出服务启动失败是内存不足(OOM)错误,如下例所示:

14/04/07 16:43:13 警告 conf.HiveConf:已弃用:配置 属性 hive.metastore.local 不再有任何效果。如果要连接到远程 Metastore,请确保为 hive.metastore.uris 提供有效值。 警告:org.apache.hadoop.metrics.jvm.EventCounter 已弃用。请在所有 log4j.properties 文件中使用 org.apache.hadoop.log.metrics.EventCounter。 库初始化失败 - 无法分配文件描述符 table - 内存不足

程序 要解决此问题,请按照以下步骤操作: 1、理解为什么HiveMetaStore服务没有启动。在这种情况下,增加服务器的物理内存。 2.然后使用root用户手动启动HiveMetaStore服务。

service hive-metastore start