【发布时间】:2019-01-30 11:30:58
【问题描述】:
尝试启动 Hive Metastore 3.1 版本连接到新的 MySQL RDS 并收到此错误。使用 Hive 2.3.2 时,它运行良好(在单独的 MySQL RDS 实例上)。有谁知道是什么原因造成的?在启动 HiveMetastore 进程之前已经初始化了 mysql:
-
echo "如果 Metastore 不存在则创建数据库;" > hive_metastore.sql 回声“使用元存储;” >> hive_metastore.sql 回显“源 $HIVE_HOME/scripts/metastore/upgrade/mysql/hive-schema-3.1.0.mysql.sql;"
hive_metastore.sql echo "创建用户如果不存在 'hive'@'%' IDENTIFIED BY '$hive_pasw';" >> hive_metastore.sql 回显“全部撤销 特权,从 'hive'@'%' 授予选项;" >> hive_metastore.sql echo “授予 Metastore 上的所有特权。* 到 'hive'@'%';” >> hive_metastore.sql echo "创建用户如果不存在'ro_hive'@'%' 由'$ro_hive_pasw'识别;" >> hive_metastore.sql echo "REVOKE 所有特权,从 'ro_hive'@'%' 授予选项;" >> hive_metastore.sql echo "GRANT SELECT, SHOW VIEW, PROCESS, . 上的复制客户端到 'ro_hive'@'%';" >> hive_metastore.sql 回声“冲洗特权;” >> hive_metastore.sql 回显“退出” >> hive_metastore.sql
18/08/24 00:17:48 INFO metastore.ObjectStore:使用 hive.metastore.cache.pinobjtypes="Table,StorageDescriptor,SerDeInfo,Partition,Database,Type,FieldSchema,Order" 设置 MetaStore 对象 pin 类 18/08/24 00:17:48 INFO metastore.MetaStoreDirectSql:使用直接SQL,底层DB是MYSQL 18/08/24 00:17:48 INFO metastore.ObjectStore:初始化的 ObjectStore 18/08/24 00:17:49 WARN DataNucleus.MetaData:元数据的 jdbc 类型为 null,但这是无效的。忽略 18/08/24 00:17:53 WARN metastore.ObjectStore:无法获取数据库 hive.default,返回 NoSuchObjectException 18/08/24 00:17:53 WARN metastore.HiveMetaStore:错误后重试创建默认数据库:抛出异常,刷新对数据存储的更改 javax.jdo.JDODataStoreException:抛出异常刷新对数据存储的更改 在 org.datanucleus.api.jdo.NucleusJDOHelper.getJDOExceptionForNucleusException(NucleusJDOHelper.java:543) 在 org.datanucleus.api.jdo.JDOTransaction.commit(JDOTransaction.java:171) 在 org.apache.hadoop.hive.metastore.ObjectStore.commitTransaction(ObjectStore.java:765) 在 org.apache.hadoop.hive.metastore.ObjectStore.createDatabase(ObjectStore.java:953) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.apache.hadoop.hive.metastore.RawStoreProxy.invoke(RawStoreProxy.java:97) 在 com.sun.proxy.$Proxy22.createDatabase(未知来源) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB_core(HiveMetaStore.java:751) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:769) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:538) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.apache.hadoop.hive.metastore.RetryingHMSHandler.invokeInternal(RetryingHMSHandler.java:147) 在 org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:108) 在 org.apache.hadoop.hive.metastore.RetryingHMSHandler.(RetryingHMSHandler.java:80) 在 org.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:93) 在 org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:8661) 在 org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:8656) 在 org.apache.hadoop.hive.metastore.HiveMetaStore.startMetaStore(HiveMetaStore.java:8926) 在 org.apache.hadoop.hive.metastore.HiveMetaStore.main(HiveMetaStore.java:8843) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.apache.hadoop.util.RunJar.run(RunJar.java:221) 在 org.apache.hadoop.util.RunJar.main(RunJar.java:136) NestedThrowablesStackTrace: java.sql.BatchUpdateException:“字段列表”中的未知列“CATALOG_NAME” 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:423) 在 com.mysql.jdbc.Util.handleNewInstance(Util.java:425) 在 com.mysql.jdbc.Util.getInstance(Util.java:408) 在 com.mysql.jdbc.SQLError.createBatchUpdateException(SQLError.java:1163) 在 com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1778) 在 com.mysql.jdbc.PreparedStatement.executeBatchInternal(PreparedStatement.java:1262) 在 com.mysql.jdbc.StatementImpl.executeBatch(StatementImpl.java:970) 在 com.zaxxer.hikari.pool.ProxyStatement.executeBatch(ProxyStatement.java:125) 在 com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeBatch(HikariProxyPreparedStatement.java) 在 org.datanucleus.store.rdbms.ParamLoggingPreparedStatement.executeBatch(ParamLoggingPreparedStatement.java:366) 在 org.datanucleus.store.rdbms.SQLController.processConnectionStatement(SQLController.java:676) 在 org.datanucleus.store.rdbms.SQLController.processStatementsForConnection(SQLController.java:644) 在 org.datanucleus.store.rdbms.SQLController$1.transactionFlushed(SQLController.java:731) 在 org.datanucleus.store.connection.AbstractManagedConnection.transactionFlushed(AbstractManagedConnection.java:89) 在 org.datanucleus.store.connection.ConnectionManagerImpl$2.transactionFlushed(ConnectionManagerImpl.java:450) 在 org.datanucleus.TransactionImpl.flush(TransactionImpl.java:210) 在 org.datanucleus.TransactionImpl.commit(TransactionImpl.java:274) 在 org.datanucleus.api.jdo.JDOTransaction.commit(JDOTransaction.java:107) 在 org.apache.hadoop.hive.metastore.ObjectStore.commitTransaction(ObjectStore.java:765) 在 org.apache.hadoop.hive.metastore.ObjectStore.createDatabase(ObjectStore.java:953) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.apache.hadoop.hive.metastore.RawStoreProxy.invoke(RawStoreProxy.java:97) 在 com.sun.proxy.$Proxy22.createDatabase(未知来源) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB_core(HiveMetaStore.java:751) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:769) 在 org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:538) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.apache.hadoop.hive.metastore.RetryingHMSHandler.invokeInternal(RetryingHMSHandler.java:147) 在 org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:108) 在 org.apache.hadoop.hive.metastore.RetryingHMSHandler.(RetryingHMSHandler.java:80) 在 org.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:93) 在 org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:8661) 在 org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:8656) 在 org.apache.hadoop.hive.metastore.HiveMetaStore.startMetaStore(HiveMetaStore.java:8926) 在 org.apache.hadoop.hive.metastore.HiveMetaStore.main(HiveMetaStore.java:8843) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.apache.hadoop.util.RunJar.run(RunJar.java:221) 在 org.apache.hadoop.util.RunJar.main(RunJar.java:136)
【问题讨论】:
标签: mysql amazon-web-services apache-spark hadoop hive