Hello,
I am running hive with a hadoop mini cluster and want to switch to mysql as a
metastore because I need multiple connections at same time (not sure if this
will work at all). I tried the local metastore config. The DB and two tables in
mysql are created but I receive an error. If I comment out the metastore
settings in hive-site.xml everthing goes well with derby.
Maybe somebody has a clue.
Malte
Java code
=========
Connection con = DriverManager.getConnection("jdbc:hive://", "", "");
Statement stmt = con.createStatement();
String tableName = "testHiveDriverTable";
ResultSet res = null;
// show tables
String sql = "show tables";
System.out.println("Running: " + sql);
res = stmt.executeQuery(sql);
while (res.next()) {
System.out.println(res.getString(1));
}
Exception
=========
FAILED: Error in metadata: java.lang.IllegalArgumentException: URI: does not
have a scheme
13:16:47,158 ERROR (SessionState.java:277) - FAILED: Error in metadata:
java.lang.IllegalArgumentException: URI: does not have a scheme
org.apache.hadoop.hive.ql.metadata.HiveException:
java.lang.IllegalArgumentException: URI: does not have a scheme
at
org.apache.hadoop.hive.ql.metadata.Hive.getTablesByPattern(Hive.java:605)
at org.apache.hadoop.hive.ql.metadata.Hive.getAllTables(Hive.java:577)
at org.apache.hadoop.hive.ql.metadata.Hive.getAllTables(Hive.java:567)
at org.apache.hadoop.hive.ql.exec.DDLTask.showTables(DDLTask.java:1090)
at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:227)
at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:107)
at
org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:55)
at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:633)
at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:506)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:384)
at
org.apache.hadoop.hive.service.HiveServer$HiveServerHandler.execute(HiveServer.java:114)
at
org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:195)
at de.codiacs.hive.service.HiveService2.main(HiveService2.java:38)
Caused by: java.lang.IllegalArgumentException: URI: does not have a scheme
at
org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:105)
at
org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:1269)
at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:1279)
at
org.apache.hadoop.hive.ql.metadata.Hive.getTablesByPattern(Hive.java:603)
... 12 more
FAILED: Execution Error, return code 1 from
org.apache.hadoop.hive.ql.exec.DDLTask
13:16:47,159 ERROR (SessionState.java:277) - FAILED: Execution Error, return
code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
Exception in thread "main" java.sql.SQLException: Query returned non-zero code:
9, cause: FAILED: Execution Error, return code 1 from
org.apache.hadoop.hive.ql.exec.DDLTask
at
org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:197)
at de.codiacs.hive.service.HiveService2.main(HiveService2.java:38)
part of hive-site.xml
=====================
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost/hive_metastore?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>test</value>
</property>
<property>
<name>hive.metastore.local </name>
<value>local</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>hdfs://192.168.56.101:54310/hive</value>
<description>location of default database for the
warehouse</description>
</property>
--
GMX DSL Doppel-Flat ab 19,99 Euro/mtl.! Jetzt mit
gratis Handy-Flat! http://portal.gmx.net/de/go/dsl