Can you use the properties from here? http://wiki.apache.org/hadoop/Hive/AdminManual/MetastoreAdmin Default JPOX options with only changes from above should work since unit tests do create the database and schema.
Also there is an ant target to create schema in metastore/build.xml that you can try to create the schema. Prasad From: Ryan Shih <[email protected]> Reply-To: <[email protected]> Date: Mon, 23 Feb 2009 17:31:22 -0800 To: <[email protected]> Subject: Fwd: mysql metastore problems ---------- Forwarded message ---------- From: Ryan Shih <[email protected]> Date: Mon, Feb 23, 2009 at 5:29 PM Subject: mysql metastore problems To: [email protected] Hi, I'm having some problems setting up the metastore using mysql. I've browsed the message archives, but don't see anything that helps. My configuration files, look like: **<<hive-site.xml>>** <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hive.metastore.local</name> <value>true</value> <description>this is local store</description> </property> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> <description>default location for Hive tables</description> </property> <property> <name>hive.aux.jars.path</name> <value>/home/ryan/hive/branch-0.2/install/custom/</value> <description>where custom serdes live </description> </property> </configuration> **<<jpox.properties>>** javax.jdo.PersistenceManagerFactoryClass=org.jpox.PersistenceManagerFactoryImpl org.jpox.validateTables=false org.jpox.validateColumns=false org.jpox.validateConstraints=false org.jpox.storeManagerType=rdbms org.jpox.autoCreateSchema=true org.jpox.autoStartMechanismMode=checked org.jpox.transactionIsolation=read_committed javax.jdo.option.DetachAllOnCommit=true javax.jdo.option.NontransactionalRead=true javax.jdo.option.ConnectionDriverName=com.mysql.jdbc.Driver javax.jdo.option.ConnectionURL=jdbc:mysql://localhost/hive_metastore?createDatabaseIfNotExist=true javax.jdo.option.ConnectionUserName=hive_user javax.jdo.option.ConnectionPassword=hive_pass org.jpox.cache.level2=true org.jpox.cache.level2.type=SOFT And then with just the default hive-default.xml file. I haven't worked with JPOX tables before, but I'm under the impression that this will automatically get created from the autoCreateSchema flag. Has anyone had any luck with this? I'm getting the following error: hive> r...@dali:~/hive/branch-0.2/install/bin$ hive Hive history file=/tmp/ryan/hive_job_log_ryan_200902231722_1088538316.txt hive> create table test_table (id INT, name STRING); FAILED: Error in metadata: javax.jdo.JDODataStoreException: Error adding class org.apache.hadoop.hive.metastore.model.MDatabase to list of persistence-managed classes : Table/View 'JPOX_TABLES' does not exist. java.sql.SQLSyntaxErrorException: Table/View 'JPOX_TABLES' does not exist. at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source) at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source) at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source) at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown Source) at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown Source) at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown Source) at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(Unknown Source) at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source) at org.jpox.store.rdbms.SQLController.getStatementForQuery(SQLController.java:324) at org.jpox.store.rdbms.SQLController.getStatementForQuery(SQLController.java:263) at org.jpox.store.rdbms.table.SchemaTable.hasClass(SchemaTable.java:280) at org.jpox.store.rdbms.table.SchemaTable.addClass(SchemaTable.java:222) at org.jpox.store.rdbms.SchemaAutoStarter.addClass(SchemaAutoStarter.java:255) at org.jpox.store.AbstractStoreManager.registerStoreData(AbstractStoreManager.java:363) at org.jpox.store.rdbms.RDBMSManager.access$3000(RDBMSManager.java:171) at org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTable(RDBMSManager.java:3001) at org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTables(RDBMSManager.java:2804) at org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesAndValidate(RDBMSManager.java:3098) at org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManager.java:2729) at org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RDBMSManager.java:2609) at org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.java:825) at org.jpox.store.AbstractStoreManager.addClass(AbstractStoreManager.java:624) at org.jpox.store.mapped.MappedStoreManager.getDatastoreClass(MappedStoreManager.java:343) at org.jpox.store.rdbms.RDBMSManager.getPropertiesForGenerator(RDBMSManager.java:1630) at org.jpox.store.AbstractStoreManager.getStrategyValue(AbstractStoreManager.java:945) at org.jpox.ObjectManagerImpl.newObjectId(ObjectManagerImpl.java:2473) at org.jpox.state.JDOStateManagerImpl.setIdentity(JDOStateManagerImpl.java:792) at org.jpox.state.JDOStateManagerImpl.initialiseForPersistentNew(JDOStateManagerImpl.java:467) at org.jpox.state.StateManagerFactory.newStateManagerForPersistentNew(StateManagerFactory.java:151) at org.jpox.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:1230) at org.jpox.ObjectManagerImpl.persistObject(ObjectManagerImpl.java:1077) at org.jpox.jdo.AbstractPersistenceManager.jdoMakePersistent(AbstractPersistenceManager.java:666) at org.jpox.jdo.AbstractPersistenceManager.makePersistent(AbstractPersistenceManager.java:691) at org.apache.hadoop.hive.metastore.ObjectStore.createDatabase(ObjectStore.java:272) at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:145) at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:115) at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.<init>(HiveMetaStore.java:100) at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:73) at org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:785) at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:798) at org.apache.hadoop.hive.ql.metadata.Hive.createTable(Hive.java:254) at org.apache.hadoop.hive.ql.exec.DDLTask.createTable(DDLTask.java:740) at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:97) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:238) at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:174) at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:207) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:306) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.util.RunJar.main(RunJar.java:155) at org.apache.hadoop.mapred.JobShell.run(JobShell.java:54) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79) at org.apache.hadoop.mapred.JobShell.main(JobShell.java:68) Caused by: java.sql.SQLException: Table/View 'JPOX_TABLES' does not exist. at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source) ... 61 more Caused by: ERROR 42X05: Table/View 'JPOX_TABLES' does not exist. at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) at org.apache.derby.impl.sql.compile.FromBaseTable.bindTableDescriptor(Unknown Source) at org.apache.derby.impl.sql.compile.FromBaseTable.bindNonVTITables(Unknown Source) at org.apache.derby.impl.sql.compile.FromList.bindTables(Unknown Source) at org.apache.derby.impl.sql.compile.SelectNode.bindNonVTITables(Unknown Source) at org.apache.derby.impl.sql.compile.DMLStatementNode.bindTables(Unknown Source) at org.apache.derby.impl.sql.compile.DMLStatementNode.bind(Unknown Source) at org.apache.derby.impl.sql.compile.CursorNode.bindStatement(Unknown Source) at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source) at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source) at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown Source) ... 55 more NestedThrowables: java.sql.SQLSyntaxErrorException: Table/View 'JPOX_TABLES' does not exist. FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask Time taken: 1.883 seconds
