Support Questions

Find answers, ask questions, and share your expertise

Apache Drill. connecting metastore

Super Collaborator

Hi:

I cant connect to my HiveMetastore, here the file and the error:

{
  "type": "hive",
  "enabled": true,
  "configProps": {
    "hive.metastore.uris": "",
    "javax.jdo.option.ConnectionURL": "jdbc:mysql://hostname:10000/hive",
    "hive.metastore.warehouse.dir": "/tmp/drill_hive_wh",
    "fs.default.name": "file:///",
    "hive.metastore.sasl.enabled": "false"
  }
}

Error

14:38:42.335 [qtp2051611232-196] ERROR DataNucleus.Datastore.Schema - Failed initialising database.
org.datanucleus.exceptions.NucleusDataStoreException: Unable to open a test connection to the given database. JDBC url = jdbc:mysql://lnxbig05.cajarural.gcr:10000/hive, username = APP. Terminating connection pool (set lazyInit to true if you expect to start your database after your app). Original Exception: ------
java.sql.SQLException: No suitable driver found for jdbc:mysql://lnxbig05.cajarural.gcr:10000/hive
        at java.sql.DriverManager.getConnection(DriverManager.java:689)

 at sun.reflect.GeneratedConstructorAccessor179.newInstance(Unknown Source) ~[na:na]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [na:1.8.0_65]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:422) [na:1.8.0_65]
        at com.jolbox.bonecp.PoolUtil.generateSQLException(PoolUtil.java:192) ~[bonecp-0.8.0.RELEASE.jar:na]
        at com.jolbox.bonecp.BoneCP.<init>(BoneCP.java:422) ~[bonecp-0.8.0.RELEASE.jar:na]
        at com.jolbox.bonecp.BoneCPDataSource.getConnection(BoneCPDataSource.java:120) ~[bonecp-0.8.0.RELEASE.jar:na]
        at org.datanucleus.store.rdbms.ConnectionFactoryImpl$ManagedConnectionImpl.getConnection(ConnectionFactoryImpl.java:501) ~[datanucleus-rdbms-3.2.9.jar:na]
        ... 92 common frames omitted
Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://lnxbig05.cajarural.gcr:10000/hive
        at java.sql.DriverManager.getConnection(DriverManager.java:689) ~[na:1.8.0_65]
        at java.sql.DriverManager.getConnection(DriverManager.java:208) ~[na:1.8.0_65]
        at com.jolbox.bonecp.BoneCP.obtainRawInternalConnection(BoneCP.java:361) ~[bonecp-0.8.0.RELEASE.jar:na]
        at com.jolbox.bonecp.BoneCP.<init>(BoneCP.java:416) ~[bonecp-0.8.0.RELEASE.jar:na]
        ... 94 common frames omitted





1 ACCEPTED SOLUTION

Super Collaborator

Hi:

After try alot time is working with this:

{
  "type": "hive",
  "enabled": true,
  "configProps": {
    "hive.metastore.uris": "thrift://hostname_metastore:9083",
    "javax.jdo.option.ConnectionURL": "jdbc:mysql://hostname_metastore/drill",
    "hive.metastore.warehouse.dir": "/tmp/drill_hive_wh",
    "fs.default.name": "hdfs://master_hortonworks:8020",
    "hive.metastore.sasl.enabled": "false"
  }
}

View solution in original post

5 REPLIES 5

@Roberto Sancho

Did you copied the MySQL driver inside drill/lib?

For MySQL, Drill has been tested with MySQL's mysql-connector-java-5.1.37-bin.jar driver. Copy this to all drill nodes.

Do you have any hive metastore running in cluster or you want to connect to hive embedded metastore?

Super Collaborator

Hi:

I have copied it and runned this command and still doestn work.

[root@lnxbig05 lib]# pwd
/opt/apache-drill-1.6.0/lib
[root@lnxbig05 lib]# ls -lrt
total 968
-rw-r--r-- 1 root root 989497 May  4 13:11 mysql-connector-java-5.1.39-bin.jar


script:


[root@lnxbig05 bin]# ./sqlline –u mysql:drill:schema=hiveremote;zk=lnxbig04.cajarural.gcr:2181,lnxbig05.cajarural.gcr:2181,lnxbig06.cajarural.gcr:2181
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0
–u (No such file or directory)
mysql:drill:schema=hiveremote (No such file or directory)
apache drill 1.6.0
"drill baby drill"
sqlline>


but i cant see that:

jdbc:drill:schema=hiveremote>

thanks

Super Collaborator

Hi:

After try alot time is working with this:

{
  "type": "hive",
  "enabled": true,
  "configProps": {
    "hive.metastore.uris": "thrift://hostname_metastore:9083",
    "javax.jdo.option.ConnectionURL": "jdbc:mysql://hostname_metastore/drill",
    "hive.metastore.warehouse.dir": "/tmp/drill_hive_wh",
    "fs.default.name": "hdfs://master_hortonworks:8020",
    "hive.metastore.sasl.enabled": "false"
  }
}

@Roberto Sancho

Well looks like you are running Hive metastore 🙂