代码之家  ›  专栏  ›  技术社区  ›  user

失败:SemanticException组织。阿帕奇。hadoop。蜂箱ql.metadata。HiveException:java。lang.RuntimeExcept

  •  0
  • user  · 技术社区  · 7 年前

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

    失败:SemanticException组织。阿帕奇。hadoop。蜂箱ql.metadata。HiveException:java。lang.RuntimeException:无法实例化组织。阿帕奇。hadoop。蜂箱ql.metadata。SessionHiveMetaStoreClient

    我检查了蜂巢元存储。日志,它显示

    2018-05-02 06:15:53225错误[主]:数据存储。架构(Log4JLogger.java:错误(125))-初始化数据库失败。 无法打开到给定数据库的测试连接。JDBC url=JDBC:derby:;databaseName=metastore\u db;create=true,username=APP。正在终止连接池(如果您希望在应用程序之后启动数据库,请将lazyInit设置为true)。原始异常:------ JAVAsql。SQLException:未能创建数据库“metastore\u db”,有关详细信息,请参阅下一个异常。 位于组织。阿帕奇。德比。实施。jdbc。SQLExceptionFactory。getSQLException(未知源) 位于组织。阿帕奇。德比。实施。jdbc。SQLExceptionFactory。getSQLException(未知源) 位于组织。阿帕奇。德比。实施。jdbc。Util。请参阅NextException(未知源) 位于组织。阿帕奇。德比。实施。jdbc。嵌入连接。createDatabase(未知源) 位于组织。阿帕奇。德比。实施。jdbc。嵌入连接。(未知来源) 位于组织。阿帕奇。德比。jdbc。内部驱动程序。getNewEmbedConnection(未知源) 位于组织。阿帕奇。德比。jdbc。内部驱动程序。连接(未知源) 位于组织。阿帕奇。德比。jdbc。内部驱动程序。连接(未知源) 位于组织。阿帕奇。德比。jdbc。AutoloadedDriver。连接(未知源) 在java。sql。DriverManager。getConnection(DriverManager.java:571) 在java。sql。DriverManager。getConnection(DriverManager.java:187) 在com。jolbox。bonecp公司。BoneCP公司。获取RawInternalConnection(BoneCP.java:361) 在com。jolbox。bonecp公司。BoneCP公司。(BoneCP.java:416) 在com。jolbox。bonecp公司。BoneCPDataSource。getConnection(BoneCPDataSource.java:120) 位于组织。datanucleus。百货商店rdbms。ConnectionFactoryImpl$ManagedConnectionImpl。getConnection(ConnectionFactoryImpl.java:501) 位于组织。datanucleus。百货商店rdbms。RDBMSStoreManager。(RDBMSStoreManager.java:298) 在太阳下。反映NativeConstructorAccessorImpl。newInstance0(本机方法) 在太阳下。反映NativeConstructorAccessorImpl。新实例(NativeConstructorAccessorImpl.java:57) 在太阳下。反映授权ConstructorAccessorImpl。newInstance(DelegatingConstructorAccessorImpl.java:45) 在java。lang.reflect。构造函数。newInstance(Constructor.java:526) 位于组织。datanucleus。插件。非ManagedPluginRegistry。createExecutableExtension(NonManagedPluginRegistry.java:631) 位于组织。datanucleus。插件。插件管理器。createExecutableExtension(PluginManager.java:301) 位于组织。datanucleus。NucleusContext。createStoreManagerForProperties(NucleusContext.java:1187) 位于组织。datanucleus。NucleusContext。初始化(NucleusContext.java:356) 位于组织。datanucleus。api。jdo。jOperationResistenceManagerFactory。冻结配置(JDOPersistenceManagerFactory.java:775) 位于组织。datanucleus。api。jdo。jOperationResistenceManagerFactory。createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:333) 位于组织。datanucleus。api。jdo。jOperationResistenceManagerFactory。getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202) 在太阳下。反映NativeMethodAccessorImpl。invoke0(本机方法) 在太阳下。反映NativeMethodAccessorImpl。调用(NativeMethodAccessorImpl.java:57) 在太阳下。反映DelegatingMethodAccessorImpl。调用(DelegatingMethodAccessorImpl.java:43) 在java。lang.reflect。方法invoke(方法java:606) 在javax。jdo。JDOHelper 16美元。run(JDOHelper.java:1965) 在java。安全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) 位于组织。阿帕奇。hadoop。蜂箱元存储。ObjectStore。getPMF(ObjectStore.java:418) 位于组织。阿帕奇。hadoop。蜂箱元存储。ObjectStore。getPersistenceManager(ObjectStore.java:447) 位于组织。阿帕奇。hadoop。蜂箱元存储。ObjectStore。初始化(ObjectStore.java:342) 位于组织。阿帕奇。hadoop。蜂箱元存储。ObjectStore。setConf(ObjectStore.java:298) 位于组织。阿帕奇。hadoop。util。反射率TILS。setConf(ReflectionUtils.java:73) 位于组织。阿帕奇。hadoop。util。反射率TILS。newInstance(ReflectionUtils.java:133) 位于组织。阿帕奇。hadoop。蜂箱元存储。RawStoreProxy。(RawStoreProxy.java:60) 位于组织。阿帕奇。hadoop。蜂箱元存储。RawStoreProxy。getProxy(RawStoreProxy.java:69) 位于组织。阿帕奇。hadoop。蜂箱元存储。HiveMetaStore$HMSHandler。newRawStore(HiveMetaStore.java:682) 位于组织。阿帕奇。hadoop。蜂箱元存储。HiveMetaStore$HMSHandler。getMS(HiveMetaStore.java:660) 位于组织。阿帕奇。hadoop。蜂箱元存储。HiveMetaStore$HMSHandler。createDefaultDB(HiveMetaStore.java:709) 位于组织。阿帕奇。hadoop。蜂箱元存储。HiveMetaStore$HMSHandler。init(HiveMetaStore.java:508) 位于组织。阿帕奇。hadoop。蜂箱元存储。重试hmshandler。(RetryingHMSHandler.java:78) 位于组织。阿帕奇。hadoop。蜂箱元存储。重试hmshandler。getProxy(RetryingHMSHandler.java:84) 位于组织。阿帕奇。hadoop。蜂箱元存储。HiveMetaStore。newRetryingHMSHandler(HiveMetaStore.java:6474) 位于组织。阿帕奇。hadoop。蜂箱元存储。HiveMetaStore。newRetryingHMSHandler(HiveMetaStore.java:6469) 位于组织。阿帕奇。hadoop。蜂箱元存储。HiveMetaStore。startMetaStore(HiveMetaStore.java:6719) 位于组织。阿帕奇。hadoop。蜂箱元存储。HiveMetaStore。main(HiveMetaStore.java:6646) 在太阳下。反映NativeMethodAccessorImpl。invoke0(本机方法) 在太阳下。反映NativeMethodAccessorImpl。调用(NativeMethodAccessorImpl.java:57) 在太阳下。反映DelegatingMethodAccessorImpl。调用(DelegatingMethodAccessorImpl.java:43) 在java。lang.reflect。方法invoke(方法java:606) 位于组织。阿帕奇。hadoop。util。RunJar。run(RunJar.java:221) 位于组织。阿帕奇。hadoop。util。RunJar。main(RunJar.java:136) 导致错误的原因:错误XJ041:未能创建数据库“metastore\u db”,有关详细信息,请参阅下一个异常。 位于组织。阿帕奇。德比。iapi。错误标准例外。newException(未知源) 位于组织。阿帕奇。德比。实施。jdbc。SQLExceptionFactory。wrapArgsForTransportAcrossDRDA(未知源) 。。。61个以上 原因:错误XBM0H:无法创建目录/metastore\u db。 位于组织。阿帕奇。德比。iapi。错误标准例外。newException(未知源) 位于组织。阿帕奇。德比。iapi。错误标准例外。newException(未知源) 位于组织。阿帕奇。德比。实施。服务。班长StorageFactoryService 10美元。运行(未知源) 在java。安全AccessController。doPrivileged(本机方法) 位于组织。阿帕奇。德比。实施。服务。班长StorageFactoryService。createServiceRoot(未知源) 位于组织。阿帕奇。德比。实施。服务。班长BaseMonitor。bootService(未知源) 位于组织。阿帕奇。德比。实施。服务。班长BaseMonitor。createPersistentService(未知源) 位于组织。阿帕奇。德比。实施。服务。班长FileMonitor。createPersistentService(未知源) 位于组织。阿帕奇。德比。iapi。服务。班长班长createPersistentService(未知源)

    。。。58个以上

    组织。datanucleus。例外情况。NucleusDataStoreException:无法打开到给定数据库的测试连接。JDBC url=JDBC:derby:;databaseName=metastore\u db;create=true,username=APP。正在终止连接池(如果您希望在应用程序之后启动数据库,请将lazyInit设置为true)。原始异常:------ JAVAsql。SQLException:未能创建数据库“metastore\u db”,有关详细信息,请参阅下一个异常。 位于组织。阿帕奇。德比。实施。jdbc。SQLExceptionFactory。getSQLException(未知源) 位于组织。阿帕奇。德比。实施。jdbc。SQLExceptionFactory。getSQLException(未知源) 位于组织。阿帕奇。德比。实施。jdbc。Util。请参阅NextException(未知源) 位于组织。阿帕奇。德比。实施。jdbc。嵌入连接。createDatabase(未知源) 位于组织。阿帕奇。德比。实施。jdbc。嵌入连接。(未知来源) 位于组织。阿帕奇。德比。jdbc。内部驱动程序。getNewEmbedConnection(未知源) 位于组织。阿帕奇。德比。jdbc。内部驱动程序。连接(未知源) 位于组织。阿帕奇。德比。jdbc。内部驱动程序。连接(未知源) 位于组织。阿帕奇。德比。jdbc。AutoloadedDriver。连接(未知源) 在java。sql。DriverManager。getConnection(DriverManager.java:571) 在java。sql。DriverManager。getConnection(DriverManager.java:187) 在com。jolbox。bonecp公司。BoneCP公司。获取RawInternalConnection(BoneCP.java:361) 在com。jolbox。bonecp公司。BoneCP公司。(BoneCP.java:416) 在com。jolbox。bonecp公司。BoneCPDataSource。getConnection(BoneCPDataSource.java:120) 位于组织。datanucleus。百货商店rdbms。ConnectionFactoryImpl$ManagedConnectionImpl。getConnection(ConnectionFactoryImpl.java:501) 位于组织。datanucleus。百货商店rdbms。RDBMSStoreManager。(RDBMSStoreManager.java:298) 在太阳下。反映NativeConstructorAccessorImpl。newInstance0(本机方法) 在太阳下。反映NativeConstructorAccessorImpl。新实例(NativeConstructorAccessorImpl.java:57) 在太阳下。反映授权ConstructorAccessorImpl。newInstance(DelegatingConstructorAccessorImpl.java:45) 在java。lang.reflect。构造函数。newInstance(Constructor.java:526) 位于组织。datanucleus。插件。非ManagedPluginRegistry。createExecutableExtension(NonManagedPluginRegistry.java:631) 位于组织。datanucleus。插件。插件管理器。createExecutableExtension(PluginManager.java:301) 位于组织。datanucleus。NucleusContext。createStoreManagerForProperties(NucleusContext.java:1187) 位于组织。datanucleus。NucleusContext。初始化(NucleusContext.java:356) 位于组织。datanucleus。api。jdo。jOperationResistenceManagerFactory。冻结配置(JDOPersistenceManagerFactory.java:775) 位于组织。datanucleus。api。jdo。jOperationResistenceManagerFactory。createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:333) 位于组织。datanucleus。api。jdo。jOperationResistenceManagerFactory。getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:202) 在太阳下。反映NativeMethodAccessorImpl。invoke0(本机方法) 在太阳下。反映NativeMethodAccessorImpl。调用(NativeMethodAccessorImpl.java:57) 在太阳下。反映DelegatingMethodAccessorImpl。调用(DelegatingMethodAccessorImpl.java:43) 在java。lang.reflect。方法invoke(方法java:606) 在javax。jdo。JDOHelper 16美元。run(JDOHelper.java:1965) 在java。安全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) 位于组织。阿帕奇。hadoop。蜂箱元存储。ObjectStore。getPMF(ObjectStore.java:418) 位于组织。阿帕奇。hadoop。蜂箱元存储。ObjectStore。getPersistenceManager(ObjectStore.java:447) 位于组织。阿帕奇。hadoop。蜂箱元存储。ObjectStore。初始化(ObjectStore.java:342) 位于组织。阿帕奇。hadoop。蜂箱元存储。ObjectStore。setConf(ObjectStore.java:298) 位于组织。阿帕奇。hadoop。util。反射率TILS。setConf(ReflectionUtils.java:73) 位于组织。阿帕奇。hadoop。util。反射率TILS。newInstance(ReflectionUtils.java:133) 位于组织。阿帕奇。hadoop。蜂箱元存储。RawStoreProxy。(RawStoreProxy.java:60) 位于组织。阿帕奇。hadoop。蜂箱元存储。RawStoreProxy。getProxy(RawStoreProxy.java:69) 位于组织。阿帕奇。hadoop。蜂箱元存储。HiveMetaStore$HMSHandler。newRawStore(HiveMetaStore.java:682) 位于组织。阿帕奇。hadoop。蜂箱元存储。HiveMetaStore$HMSHandler。getMS(HiveMetaStore.java:660) 位于组织。阿帕奇。hadoop。蜂箱元存储。HiveMetaStore$HMSHandler。createDefaultDB(HiveMetaStore.java:709) 位于组织。阿帕奇。hadoop。蜂箱元存储。HiveMetaStore$HMSHandler。init(HiveMetaStore.java:508) 位于组织。阿帕奇。hadoop。蜂箱元存储。重试hmshandler。(RetryingHMSHandler.java:78) 位于组织。阿帕奇。hadoop。蜂箱元存储。重试hmshandler。getProxy(RetryingHMSHandler.java:84) 位于组织。阿帕奇。hadoop。蜂箱元存储。HiveMetaStore。newRetryingHMSHandler(HiveMetaStore.java:6474) 位于组织。阿帕奇。hadoop。蜂箱元存储。HiveMetaStore。newRetryingHMSHandler(HiveMetaStore.java:6469) 位于组织。阿帕奇。hadoop。蜂箱元存储。HiveMetaStore。startMetaStore(HiveMetaStore.java:6719) 位于组织。阿帕奇。hadoop。蜂箱元存储。HiveMetaStore。main(HiveMetaStore.java:6646) 在太阳下。反映NativeMethodAccessorImpl。invoke0(本机方法) 在太阳下。反映NativeMethodAccessorImpl。调用(NativeMethodAccessorImpl.java:57) 在太阳下。反映DelegatingMethodAccessorImpl。调用(DelegatingMethodAccessorImpl.java:43) 在java。lang.reflect。方法invoke(方法java:606) 位于组织。阿帕奇。hadoop。util。RunJar。run(RunJar.java:221) 位于组织。阿帕奇。hadoop。util。RunJar。main(RunJar.java:136) 导致错误的原因:错误XJ041:未能创建数据库“metastore\u db”,有关详细信息,请参阅下一个异常。 位于组织。阿帕奇。德比。iapi。错误标准例外。newException(未知源) 位于组织。阿帕奇。德比。实施。jdbc。SQLExceptionFactory。wrapArgsForTransportAcrossDRDA(未知源) 。。。61个以上 原因:错误XBM0H:无法创建目录/metastore\u db。 位于组织。阿帕奇。德比。iapi。错误标准例外。newException(未知源) 位于组织。阿帕奇。德比。iapi。错误标准例外。newException(未知源) 位于组织。阿帕奇。德比。实施。服务。班长StorageFactoryService 10美元。运行(未知源) 在java。安全AccessController。doPrivileged(本机方法) 位于组织。阿帕奇。德比。实施。服务。班长StorageFactoryService。createServiceRoot(未知源) 位于组织。阿帕奇。德比。实施。服务。班长BaseMonitor。bootService(未知源) 位于组织。阿帕奇。德比。实施。服务。班长BaseMonitor。createPersistentService(未知源) 位于组织。阿帕奇。德比。实施。服务。班长FileMonitor。createPersistentService(未知源) 位于组织。阿帕奇。德比。iapi。服务。班长班长createPersistentService(未知源)

    。。。58个以上

    我不知道该怎么办。 配置单元metastore服务器的状态为关闭,未关闭

    1 回复  |  直到 7 年前
        1
  •  2
  •   Vishnu    6 年前

    原因说明问题的原因。 在这种情况下,内存不足(OOM)错误是因为服务器没有足够的内存来启动HiveMetaStore服务。

    RCA公司

    HiveMetaStore服务已在配置单元站点中配置。xml,但服务未启动。

    例如:

    /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
    

    观察蜂巢元存储后。日志中,您可以看到服务无法启动的原因是由于内存不足(OOM)错误,如下例所示:

    2007年4月14日16:43:13警告conf.HiveConf:已弃用:配置属性配置单元。元存储。本地不再有任何效果。确保为配置单元提供有效值。元存储。如果连接到远程元存储,则为URI。 警告:组织。阿帕奇。hadoop。指标。jvm。EventCounter已弃用。请使用组织。阿帕奇。hadoop。日志指标。所有log4j中的EventCounter。属性文件。 库初始化失败-无法分配文件描述符表-内存不足

    程序 要解决此问题,请执行以下步骤: 1、了解HiveMetaStore服务未启动的原因。在这种情况下,请增加服务器的物理内存。 2、然后使用root用户手动启动HiveMetaStore服务。

    service hive-metastore start