add hive driver with kerberos auth support #118

Open
opened 2026-03-04 09:14:13 -05:00 by deekerman · 3 comments
Owner

Originally created by @BI3QXJ on GitHub (Mar 15, 2021).

As we use customized Hive product, I have to add special driver jar into dbeaver/cloudbeaver.

when I use dbeaver, I install kerberos for windows (kfw), add custom driver jars into hive config, and add config into <dbeaver-path>/dbeaver.ini like below then it works.

...
-Djavax.security.auth.useSubjectCredsOnly=false
-Djava.security.krb5.conf=C:\ProgramData\MIT\Kerberos5\krb5.ini
-Dsun.security.krb5.debug=true

but when I try to deploy cloudbeaver on ubuntu 20.04, after follow:
Adding-new-database-drivers , #259, #192

  1. add hive driver path as cloudbeaver/server/drivers/hive, while I need few jar files to be added, I wrote pom.xml as:
    <properties>
        <deps.output.dir>hive</deps.output.dir>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hive-jdbc</artifactId>
            <version>1.1.0-bc1.3.6</version>
            <classifier>standalone</classifier>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>2.6.0-bc1.3.6</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-auth</artifactId>
            <version>2.6.0-bc1.3.6</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>2.2.3-1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.xerces</groupId>
            <artifactId>xercesImpl</artifactId>
            <version>2.9.1</version>
        </dependency>
    </dependencies>
  1. then I mod server/drivers/pom.xml, add hive item:
    <modules>
        <module>clickhouse</module>
        <module>db2</module>
        <module>derby</module>
        <module>h2</module>
        <module>jaybird</module>
        <module>mysql</module>
        <module>mariadb</module>
        <module>oracle</module>
        <module>postgresql</module>
        <module>sqlite</module>
        <module>sqlserver</module>
        <module>trino</module>
        <module>hive</module>      <-- this line
    </modules>
  1. finally, I mod server/bundles/io.cloudbeaver.resources.drivers.base/pugin.xml:
    <extension point="org.jkiss.dbeaver.resources">
        ...
        <resource name="drivers/hive"/>
    </extension>
    <extension point="org.jkiss.dbeaver.product.bundles">
        ...
        <bundle id="drivers.hive" label="Hive drivers"/>
    </extension>
    <extension point="io.cloudbeaver.driver">
        ...
        <driver id="generic:apache_hive2"/>
    </extension>

then run deploy/build.sh , driver.hive display as SUCCESS, but can't find driver when running server

2021-03-16 10:33:35.314 - Initialize base platform...
2021-03-16 10:33:35.690 - Total database drivers: 88 (88)
2021-03-16 10:33:35.729 - Available drivers: DB2 LUW,Firebird,H2 Embedded,Derby Server,SQLite,Trino,MS SQL Server / SQL Server,MySQL,MariaDB,Oracle,PostgreSQL
2021-03-16 10:33:35.757 - Web platform initialized (943ms)
2021-03-16 10:33:35.758 -       Content root: /root/cloudbeaver/deploy/cloudbeaver/web
2021-03-16 10:33:35.758 -       Drivers storage: /root/cloudbeaver/deploy/cloudbeaver/drivers
2021-03-16 10:33:35.758 -       Base port: 8978
2021-03-16 10:33:35.759 -       Base URI: /api/
2021-03-16 10:33:35.759 -       Production mode
2021-03-16 10:33:35.759 -       Server is in configuration mode!
2021-03-16 10:33:35.894 -       Local host addresses:
2021-03-16 10:33:36.115 -               192.168.1.216 (192.168.1.216)
2021-03-16 10:33:36.115 -               0:0:0:0:0:0:0:1%lo (ip6-localhost)
2021-03-16 10:33:36.207 - Initializing database connection

but hive drivers still not showing up in web GUI. need help, guys!
and another question, how could I use kerberos in hive connection.

Originally created by @BI3QXJ on GitHub (Mar 15, 2021). As we use customized Hive product, I have to add special driver jar into dbeaver/cloudbeaver. when I use dbeaver, I install kerberos for windows (kfw), add custom driver jars into hive config, and add config into `<dbeaver-path>/dbeaver.ini` like below then it works. ``` ... -Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.krb5.conf=C:\ProgramData\MIT\Kerberos5\krb5.ini -Dsun.security.krb5.debug=true ``` but when I try to deploy cloudbeaver on ubuntu 20.04, after follow: [Adding-new-database-drivers](https://github.com/dbeaver/cloudbeaver/wiki/Adding-new-database-drivers) , #259, #192 1. add hive driver path as `cloudbeaver/server/drivers/hive`, while I need few jar files to be added, I wrote `pom.xml` as: ``` <properties> <deps.output.dir>hive</deps.output.dir> </properties> <dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hive-jdbc</artifactId> <version>1.1.0-bc1.3.6</version> <classifier>standalone</classifier> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.6.0-bc1.3.6</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-auth</artifactId> <version>2.6.0-bc1.3.6</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>2.2.3-1</version> </dependency> <dependency> <groupId>org.apache.xerces</groupId> <artifactId>xercesImpl</artifactId> <version>2.9.1</version> </dependency> </dependencies> ``` 2. then I mod `server/drivers/pom.xml`, add hive item: ``` <modules> <module>clickhouse</module> <module>db2</module> <module>derby</module> <module>h2</module> <module>jaybird</module> <module>mysql</module> <module>mariadb</module> <module>oracle</module> <module>postgresql</module> <module>sqlite</module> <module>sqlserver</module> <module>trino</module> <module>hive</module> <-- this line </modules> ``` 3. finally, I mod `server/bundles/io.cloudbeaver.resources.drivers.base/pugin.xml`: ``` <extension point="org.jkiss.dbeaver.resources"> ... <resource name="drivers/hive"/> </extension> <extension point="org.jkiss.dbeaver.product.bundles"> ... <bundle id="drivers.hive" label="Hive drivers"/> </extension> <extension point="io.cloudbeaver.driver"> ... <driver id="generic:apache_hive2"/> </extension> ``` then run `deploy/build.sh` , driver.hive display as SUCCESS, but can't find driver when running server ``` 2021-03-16 10:33:35.314 - Initialize base platform... 2021-03-16 10:33:35.690 - Total database drivers: 88 (88) 2021-03-16 10:33:35.729 - Available drivers: DB2 LUW,Firebird,H2 Embedded,Derby Server,SQLite,Trino,MS SQL Server / SQL Server,MySQL,MariaDB,Oracle,PostgreSQL 2021-03-16 10:33:35.757 - Web platform initialized (943ms) 2021-03-16 10:33:35.758 - Content root: /root/cloudbeaver/deploy/cloudbeaver/web 2021-03-16 10:33:35.758 - Drivers storage: /root/cloudbeaver/deploy/cloudbeaver/drivers 2021-03-16 10:33:35.758 - Base port: 8978 2021-03-16 10:33:35.759 - Base URI: /api/ 2021-03-16 10:33:35.759 - Production mode 2021-03-16 10:33:35.759 - Server is in configuration mode! 2021-03-16 10:33:35.894 - Local host addresses: 2021-03-16 10:33:36.115 - 192.168.1.216 (192.168.1.216) 2021-03-16 10:33:36.115 - 0:0:0:0:0:0:0:1%lo (ip6-localhost) 2021-03-16 10:33:36.207 - Initializing database connection ``` but hive drivers still not showing up in web GUI. need help, guys! and another question, how could I use kerberos in hive connection.
Author
Owner

@serge-rider commented on GitHub (Mar 18, 2021):

Disclaimer: Hive driver is one of the worst jdbc drivers ever. It is tricky.

  1. I wouldn't recommend to build Hive driver from Maven artifacts. It is huge, redundant and most likely it won't work in modern Java environment. You can download prebuilt Hive JDBC jars from Apache Hive website.
  2. Instead of adding new Maven module hive just copy downloaded jars in the directory drivers/hive
  3. User driver name hive:apache_hive2 instead of generic.

The rest of configuration looks good enough.
If it won't work - please attach full error/debug log (workspace/.metadata/.log)

@serge-rider commented on GitHub (Mar 18, 2021): Disclaimer: Hive driver is one of the worst jdbc drivers ever. It is tricky. 1. I wouldn't recommend to build Hive driver from Maven artifacts. It is huge, redundant and most likely it won't work in modern Java environment. You can download prebuilt Hive JDBC jars from Apache Hive website. 2. Instead of adding new Maven module hive just copy downloaded jars in the directory drivers/hive 3. User driver name `hive:apache_hive2` instead of `generic`. The rest of configuration looks good enough. If it won't work - please attach full error/debug log (`workspace/.metadata/.log`)
Author
Owner

@BI3QXJ commented on GitHub (Mar 22, 2021):

Disclaimer: Hive driver is one of the worst jdbc drivers ever. It is tricky.

  1. I wouldn't recommend to build Hive driver from Maven artifacts. It is huge, redundant and most likely it won't work in modern Java environment. You can download prebuilt Hive JDBC jars from Apache Hive website.
  2. Instead of adding new Maven module hive just copy downloaded jars in the directory drivers/hive
  3. User driver name hive:apache_hive2 instead of generic.

The rest of configuration looks good enough.
If it won't work - please attach full error/debug log (workspace/.metadata/.log)

Yes, it works, after I changed driver id to hive:apache_hive2,
and the next problem, how to make cloudbeaver connect hive with kerberos auth.

what I have try :

  1. Like DBeaver (for win): install kfw (kerberos for windows) and add this to dbeaver.ini
...
-Djavax.security.auth.useSubjectCredsOnly=false
-Djava.security.krb5.conf=C:\ProgramData\MIT\Kerberos5\krb5.ini
-Dsun.security.krb5.debug=true

I install krb5-user and have it configured, then append arguments into run-server.sh like:

-Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.krb5.conf=/etc/krb5.conf -Dsun.security.krb5.debug=true
  1. for there is no way to fill database url directly, I modify the sampleURL in /dbeaver/plugins/org.jkiss.dbeaver.ext.hive/plugin.xml with my hive product url. so after create new connection, it will connect to the specific url without fill anything.

my hive uri was:

jdbc:hive2://xxx003:2181,xxx004:2181,xxx005:2181,xxx012:2181,xxx013:2181/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;sasl.qop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx;
  1. when I run cb, click connection test, I got console output like this:
2021-03-22 09:09:09.927 - Connect with 'hive' (apache_hive2-178577a5ed1-6f716bea1e51230b)
2021-03-22 09:09:09.988 - Execution context opened (hive; Main; 0)
Mar 22, 2021 9:09:10 AM org.apache.hive.jdbc.Utils parseURL
INFO: Supplied authorities: xxx003:2181,xxx004:2181,xxx005:2181,xxx012:2181,xxx013:2181
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Mar 22, 2021 9:09:11 AM org.apache.hive.jdbc.ZooKeeperHiveClientHelper getNextServerUriFromZooKeeper

INFO: Selected HiveServer2 instance with uri: xxx004:10000
Mar 22, 2021 9:09:11 AM org.apache.hive.jdbc.Utils parseURL
INFO: Resolved authority: xxx004:10000
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.hadoop.security.authentication.util.KerberosUtil (file:/root/cloudbeaver/deploy/cloudbeaver/drivers/hive/hadoop-auth-2.6.0-bc1.3.6.jar) to method sun.security.krb5.Config.getInstance()
WARNING: Please consider reporting this to the maintainers of org.apache.hadoop.security.authentication.util.KerberosUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Mar 22, 2021 9:09:12 AM org.apache.hadoop.util.NativeCodeLoader <clinit>
WARNING: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Mar 22, 2021 9:09:12 AM org.apache.hive.jdbc.HiveConnection openTransport
INFO: Will try to open client transport with JDBC Uri: jdbc:hive2://xxx004:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx;
Mar 22, 2021 9:09:12 AM org.apache.hive.jdbc.HiveConnection openTransport
INFO: Could not open client transport with JDBC Uri: jdbc:hive2://xxx004:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx;
Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.ZooKeeperHiveClientHelper getNextServerUriFromZooKeeper


INFO: Selected HiveServer2 instance with uri: xxx008:10000
Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.HiveConnection openTransport
INFO: Will retry opening client transport
Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.HiveConnection openTransport
INFO: Will try to open client transport with JDBC Uri: jdbc:hive2://xxx008:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx;
Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.HiveConnection openTransport
INFO: Could not open client transport with JDBC Uri: jdbc:hive2://xxx008:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx;
Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.ZooKeeperHiveClientHelper getNextServerUriFromZooKeeper


INFO: Selected HiveServer2 instance with uri: xxx003:10000
Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.HiveConnection openTransport
INFO: Will retry opening client transport
Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.HiveConnection openTransport
INFO: Will try to open client transport with JDBC Uri: jdbc:hive2://xxx003:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx;
Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.HiveConnection openTransport
INFO: Could not open client transport with JDBC Uri: jdbc:hive2://xxx003:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx;
Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.ZooKeeperHiveClientHelper getNextServerUriFromZooKeeper


INFO: Selected HiveServer2 instance with uri: xxx012:10000
Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.HiveConnection openTransport
INFO: Will retry opening client transport
Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.HiveConnection openTransport
INFO: Will try to open client transport with JDBC Uri: jdbc:hive2://xxx012:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx;
Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.HiveConnection openTransport
INFO: Could not open client transport with JDBC Uri: jdbc:hive2://xxx012:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx;
Mar 22, 2021 9:09:14 AM org.apache.hive.jdbc.ZooKeeperHiveClientHelper getNextServerUriFromZooKeeper


INFO: Selected HiveServer2 instance with uri: xxx013:10000
Mar 22, 2021 9:09:14 AM org.apache.hive.jdbc.HiveConnection openTransport
INFO: Will retry opening client transport
Mar 22, 2021 9:09:14 AM org.apache.hive.jdbc.HiveConnection openTransport
INFO: Will try to open client transport with JDBC Uri: jdbc:hive2://xxx013:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx;
Mar 22, 2021 9:09:14 AM org.apache.hive.jdbc.HiveConnection openTransport
INFO: Could not open client transport with JDBC Uri: jdbc:hive2://xxx013:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx;
Mar 22, 2021 9:09:15 AM org.apache.hive.jdbc.ZooKeeperHiveClientHelper getNextServerUriFromZooKeeper


INFO: Selected HiveServer2 instance with uri: xxx005:10000
Mar 22, 2021 9:09:15 AM org.apache.hive.jdbc.HiveConnection openTransport
INFO: Will retry opening client transport
Mar 22, 2021 9:09:15 AM org.apache.hive.jdbc.HiveConnection openTransport
INFO: Will try to open client transport with JDBC Uri: jdbc:hive2://xxx005:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx;
Mar 22, 2021 9:09:15 AM org.apache.hive.jdbc.HiveConnection openTransport
INFO: Could not open client transport with JDBC Uri: jdbc:hive2://xxx005:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx;
2021-03-22 09:09:15.545 - Connection failed (apache_hive2-178577a5ed1-6f716bea1e51230b)


org.jkiss.dbeaver.model.exec.DBCConnectException: Could not open client transport for any of the Server URI's in ZooKeeper: Unable to read HiveServer2 uri from ZooKeeper
        at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.openConnection(JDBCDataSource.java:221)
        at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.openConnection(GenericDataSource.java:135)
        at org.jkiss.dbeaver.model.impl.jdbc.JDBCExecutionContext.connect(JDBCExecutionContext.java:101)
        at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.initializeMainContext(JDBCRemoteInstance.java:95)
        at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.<init>(JDBCRemoteInstance.java:57)
        at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.initializeRemoteInstance(JDBCDataSource.java:109)
        at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.<init>(GenericDataSource.java:107)
        at org.jkiss.dbeaver.ext.hive.model.HiveDataSource.<init>(HiveDataSource.java:41)
        at org.jkiss.dbeaver.ext.hive.model.HiveMetaModel.createDataSourceImpl(HiveMetaModel.java:48)
        at org.jkiss.dbeaver.ext.generic.GenericDataSourceProvider.openDataSource(GenericDataSourceProvider.java:106)
        at org.jkiss.dbeaver.registry.DataSourceDescriptor.connect(DataSourceDescriptor.java:888)
        at io.cloudbeaver.service.core.impl.WebServiceCore.initConnection(WebServiceCore.java:268)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at io.cloudbeaver.service.WebServiceBindingBase$ServiceInvocationHandler.invoke(WebServiceBindingBase.java:137)
        at com.sun.proxy.$Proxy6.initConnection(Unknown Source)
        at io.cloudbeaver.service.core.WebServiceBindingCore.lambda$23(WebServiceBindingCore.java:103)
        at graphql.execution.instrumentation.dataloader.DataLoaderDispatcherInstrumentation.lambda$instrumentDataFetcher$0(DataLoaderDispatcherInstrumentation.java:86)
        at graphql.execution.ExecutionStrategy.fetchField(ExecutionStrategy.java:258)
        at graphql.execution.ExecutionStrategy.resolveFieldWithInfo(ExecutionStrategy.java:197)
        at graphql.execution.AsyncExecutionStrategy.execute(AsyncExecutionStrategy.java:72)
        at graphql.execution.Execution.executeOperation(Execution.java:160)
        at graphql.execution.Execution.execute(Execution.java:101)
        at graphql.GraphQL.execute(GraphQL.java:591)
        at graphql.GraphQL.parseValidateAndExecute(GraphQL.java:521)
        at graphql.GraphQL.executeAsync(GraphQL.java:495)
        at graphql.GraphQL.execute(GraphQL.java:426)
        at io.cloudbeaver.server.graphql.GraphQLEndpoint.executeQuery(GraphQLEndpoint.java:250)
        at io.cloudbeaver.server.graphql.GraphQLEndpoint.executeSingleQuery(GraphQLEndpoint.java:196)
        at io.cloudbeaver.server.graphql.GraphQLEndpoint.doPost(GraphQLEndpoint.java:179)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:791)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
        at org.eclipse.jetty.server.Server.handle(Server.java:516)
        at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
        at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
        at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
        at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
        at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.sql.SQLException: Could not open client transport for any of the Server URI's in ZooKeeper: Unable to read HiveServer2 uri from ZooKeeper
        at org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:205)
        at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:163)
        at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105)
        at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.lambda$0(JDBCDataSource.java:176)
        at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.openConnection(JDBCDataSource.java:195)
        ... 62 more
Caused by: org.apache.hive.jdbc.ZooKeeperHiveClientException: Unable to read HiveServer2 uri from ZooKeeper
        at org.apache.hive.jdbc.ZooKeeperHiveClientHelper.getNextServerUriFromZooKeeper(ZooKeeperHiveClientHelper.java:86)
        at org.apache.hive.jdbc.Utils.updateConnParamsFromZooKeeper(Utils.java:507)
        at org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:203)
        ... 66 more
Caused by: org.apache.hive.jdbc.ZooKeeperHiveClientException: Tried all existing HiveServer2 uris from ZooKeeper.
        at org.apache.hive.jdbc.ZooKeeperHiveClientHelper.getNextServerUriFromZooKeeper(ZooKeeperHiveClientHelper.java:73)
        ... 68 more
2021-03-22 09:09:15.553 - GraphQL call failed at '/connection', {credentials=null, id=apache_hive2-178577a5ed1-6f716bea1e51230b, networkCredentials=null, saveCredentials=null}
io.cloudbeaver.DBWebException: Error connecting to database:
Could not open client transport for any of the Server URI's in ZooKeeper: Unable to read HiveServer2 uri from ZooKeeper
        at io.cloudbeaver.service.core.impl.WebServiceCore.initConnection(WebServiceCore.java:270)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at io.cloudbeaver.service.WebServiceBindingBase$ServiceInvocationHandler.invoke(WebServiceBindingBase.java:137)
        at com.sun.proxy.$Proxy6.initConnection(Unknown Source)
        at io.cloudbeaver.service.core.WebServiceBindingCore.lambda$23(WebServiceBindingCore.java:103)
        at graphql.execution.instrumentation.dataloader.DataLoaderDispatcherInstrumentation.lambda$instrumentDataFetcher$0(DataLoaderDispatcherInstrumentation.java:86)
        at graphql.execution.ExecutionStrategy.fetchField(ExecutionStrategy.java:258)
        at graphql.execution.ExecutionStrategy.resolveFieldWithInfo(ExecutionStrategy.java:197)
        at graphql.execution.AsyncExecutionStrategy.execute(AsyncExecutionStrategy.java:72)
        at graphql.execution.Execution.executeOperation(Execution.java:160)
        at graphql.execution.Execution.execute(Execution.java:101)
        at graphql.GraphQL.execute(GraphQL.java:591)
        at graphql.GraphQL.parseValidateAndExecute(GraphQL.java:521)
        at graphql.GraphQL.executeAsync(GraphQL.java:495)
        at graphql.GraphQL.execute(GraphQL.java:426)
        at io.cloudbeaver.server.graphql.GraphQLEndpoint.executeQuery(GraphQLEndpoint.java:250)
        at io.cloudbeaver.server.graphql.GraphQLEndpoint.executeSingleQuery(GraphQLEndpoint.java:196)
        at io.cloudbeaver.server.graphql.GraphQLEndpoint.doPost(GraphQLEndpoint.java:179)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:791)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
        at org.eclipse.jetty.server.Server.handle(Server.java:516)
        at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
        at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
        at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
        at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
        at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.jkiss.dbeaver.model.exec.DBCConnectException: Could not open client transport for any of the Server URI's in ZooKeeper: Unable to read HiveServer2 uri from ZooKeeper
        at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.openConnection(JDBCDataSource.java:221)
        at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.openConnection(GenericDataSource.java:135)
        at org.jkiss.dbeaver.model.impl.jdbc.JDBCExecutionContext.connect(JDBCExecutionContext.java:101)
        at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.initializeMainContext(JDBCRemoteInstance.java:95)
        at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.<init>(JDBCRemoteInstance.java:57)
        at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.initializeRemoteInstance(JDBCDataSource.java:109)
        at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.<init>(GenericDataSource.java:107)
        at org.jkiss.dbeaver.ext.hive.model.HiveDataSource.<init>(HiveDataSource.java:41)
        at org.jkiss.dbeaver.ext.hive.model.HiveMetaModel.createDataSourceImpl(HiveMetaModel.java:48)
        at org.jkiss.dbeaver.ext.generic.GenericDataSourceProvider.openDataSource(GenericDataSourceProvider.java:106)
        at org.jkiss.dbeaver.registry.DataSourceDescriptor.connect(DataSourceDescriptor.java:888)
        at io.cloudbeaver.service.core.impl.WebServiceCore.initConnection(WebServiceCore.java:268)
        ... 51 more
Caused by: java.sql.SQLException: Could not open client transport for any of the Server URI's in ZooKeeper: Unable to read HiveServer2 uri from ZooKeeper
        at org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:205)
        at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:163)
        at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105)
        at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.lambda$0(JDBCDataSource.java:176)
        at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.openConnection(JDBCDataSource.java:195)
        ... 62 more
Caused by: org.apache.hive.jdbc.ZooKeeperHiveClientException: Unable to read HiveServer2 uri from ZooKeeper
        at org.apache.hive.jdbc.ZooKeeperHiveClientHelper.getNextServerUriFromZooKeeper(ZooKeeperHiveClientHelper.java:86)
        at org.apache.hive.jdbc.Utils.updateConnParamsFromZooKeeper(Utils.java:507)
        at org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:203)
        ... 66 more
Caused by: org.apache.hive.jdbc.ZooKeeperHiveClientException: Tried all existing HiveServer2 uris from ZooKeeper.
        at org.apache.hive.jdbc.ZooKeeperHiveClientHelper.getNextServerUriFromZooKeeper(ZooKeeperHiveClientHelper.java:73)
        ... 68 more

I try replace openjdk with oracle jdk, but error still .
I guess maybe kerberos config part not works.

@BI3QXJ commented on GitHub (Mar 22, 2021): > Disclaimer: Hive driver is one of the worst jdbc drivers ever. It is tricky. > > 1. I wouldn't recommend to build Hive driver from Maven artifacts. It is huge, redundant and most likely it won't work in modern Java environment. You can download prebuilt Hive JDBC jars from Apache Hive website. > 2. Instead of adding new Maven module hive just copy downloaded jars in the directory drivers/hive > 3. User driver name `hive:apache_hive2` instead of `generic`. > > The rest of configuration looks good enough. > If it won't work - please attach full error/debug log (`workspace/.metadata/.log`) Yes, it works, after I changed driver id to `hive:apache_hive2`, and the next problem, how to make cloudbeaver connect hive with kerberos auth. ### what I have try : 1. Like DBeaver (for win): install kfw (kerberos for windows) and add this to `dbeaver.ini` ``` ... -Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.krb5.conf=C:\ProgramData\MIT\Kerberos5\krb5.ini -Dsun.security.krb5.debug=true ``` I install krb5-user and have it configured, then append arguments into `run-server.sh` like: ``` -Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.krb5.conf=/etc/krb5.conf -Dsun.security.krb5.debug=true ``` 2. for there is no way to fill database url directly, I modify the `sampleURL` in `/dbeaver/plugins/org.jkiss.dbeaver.ext.hive/plugin.xml` with my hive product url. so after create new connection, it will connect to the specific url without fill anything. my hive uri was: ``` jdbc:hive2://xxx003:2181,xxx004:2181,xxx005:2181,xxx012:2181,xxx013:2181/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;sasl.qop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx; ``` 3. when I run cb, click connection test, I got console output like this: ``` 2021-03-22 09:09:09.927 - Connect with 'hive' (apache_hive2-178577a5ed1-6f716bea1e51230b) 2021-03-22 09:09:09.988 - Execution context opened (hive; Main; 0) Mar 22, 2021 9:09:10 AM org.apache.hive.jdbc.Utils parseURL INFO: Supplied authorities: xxx003:2181,xxx004:2181,xxx005:2181,xxx012:2181,xxx013:2181 SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. Mar 22, 2021 9:09:11 AM org.apache.hive.jdbc.ZooKeeperHiveClientHelper getNextServerUriFromZooKeeper INFO: Selected HiveServer2 instance with uri: xxx004:10000 Mar 22, 2021 9:09:11 AM org.apache.hive.jdbc.Utils parseURL INFO: Resolved authority: xxx004:10000 WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.apache.hadoop.security.authentication.util.KerberosUtil (file:/root/cloudbeaver/deploy/cloudbeaver/drivers/hive/hadoop-auth-2.6.0-bc1.3.6.jar) to method sun.security.krb5.Config.getInstance() WARNING: Please consider reporting this to the maintainers of org.apache.hadoop.security.authentication.util.KerberosUtil WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Mar 22, 2021 9:09:12 AM org.apache.hadoop.util.NativeCodeLoader <clinit> WARNING: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Mar 22, 2021 9:09:12 AM org.apache.hive.jdbc.HiveConnection openTransport INFO: Will try to open client transport with JDBC Uri: jdbc:hive2://xxx004:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx; Mar 22, 2021 9:09:12 AM org.apache.hive.jdbc.HiveConnection openTransport INFO: Could not open client transport with JDBC Uri: jdbc:hive2://xxx004:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx; Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.ZooKeeperHiveClientHelper getNextServerUriFromZooKeeper INFO: Selected HiveServer2 instance with uri: xxx008:10000 Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.HiveConnection openTransport INFO: Will retry opening client transport Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.HiveConnection openTransport INFO: Will try to open client transport with JDBC Uri: jdbc:hive2://xxx008:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx; Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.HiveConnection openTransport INFO: Could not open client transport with JDBC Uri: jdbc:hive2://xxx008:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx; Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.ZooKeeperHiveClientHelper getNextServerUriFromZooKeeper INFO: Selected HiveServer2 instance with uri: xxx003:10000 Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.HiveConnection openTransport INFO: Will retry opening client transport Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.HiveConnection openTransport INFO: Will try to open client transport with JDBC Uri: jdbc:hive2://xxx003:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx; Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.HiveConnection openTransport INFO: Could not open client transport with JDBC Uri: jdbc:hive2://xxx003:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx; Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.ZooKeeperHiveClientHelper getNextServerUriFromZooKeeper INFO: Selected HiveServer2 instance with uri: xxx012:10000 Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.HiveConnection openTransport INFO: Will retry opening client transport Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.HiveConnection openTransport INFO: Will try to open client transport with JDBC Uri: jdbc:hive2://xxx012:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx; Mar 22, 2021 9:09:13 AM org.apache.hive.jdbc.HiveConnection openTransport INFO: Could not open client transport with JDBC Uri: jdbc:hive2://xxx012:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx; Mar 22, 2021 9:09:14 AM org.apache.hive.jdbc.ZooKeeperHiveClientHelper getNextServerUriFromZooKeeper INFO: Selected HiveServer2 instance with uri: xxx013:10000 Mar 22, 2021 9:09:14 AM org.apache.hive.jdbc.HiveConnection openTransport INFO: Will retry opening client transport Mar 22, 2021 9:09:14 AM org.apache.hive.jdbc.HiveConnection openTransport INFO: Will try to open client transport with JDBC Uri: jdbc:hive2://xxx013:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx; Mar 22, 2021 9:09:14 AM org.apache.hive.jdbc.HiveConnection openTransport INFO: Could not open client transport with JDBC Uri: jdbc:hive2://xxx013:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx; Mar 22, 2021 9:09:15 AM org.apache.hive.jdbc.ZooKeeperHiveClientHelper getNextServerUriFromZooKeeper INFO: Selected HiveServer2 instance with uri: xxx005:10000 Mar 22, 2021 9:09:15 AM org.apache.hive.jdbc.HiveConnection openTransport INFO: Will retry opening client transport Mar 22, 2021 9:09:15 AM org.apache.hive.jdbc.HiveConnection openTransport INFO: Will try to open client transport with JDBC Uri: jdbc:hive2://xxx005:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx; Mar 22, 2021 9:09:15 AM org.apache.hive.jdbc.HiveConnection openTransport INFO: Could not open client transport with JDBC Uri: jdbc:hive2://xxx005:10000/mbdr;principal=hive/hivecluster@XXXXX;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2;saslQop=auth;auth=KERBEROS?mapreduce.job.queuename=xxxxx; 2021-03-22 09:09:15.545 - Connection failed (apache_hive2-178577a5ed1-6f716bea1e51230b) org.jkiss.dbeaver.model.exec.DBCConnectException: Could not open client transport for any of the Server URI's in ZooKeeper: Unable to read HiveServer2 uri from ZooKeeper at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.openConnection(JDBCDataSource.java:221) at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.openConnection(GenericDataSource.java:135) at org.jkiss.dbeaver.model.impl.jdbc.JDBCExecutionContext.connect(JDBCExecutionContext.java:101) at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.initializeMainContext(JDBCRemoteInstance.java:95) at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.<init>(JDBCRemoteInstance.java:57) at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.initializeRemoteInstance(JDBCDataSource.java:109) at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.<init>(GenericDataSource.java:107) at org.jkiss.dbeaver.ext.hive.model.HiveDataSource.<init>(HiveDataSource.java:41) at org.jkiss.dbeaver.ext.hive.model.HiveMetaModel.createDataSourceImpl(HiveMetaModel.java:48) at org.jkiss.dbeaver.ext.generic.GenericDataSourceProvider.openDataSource(GenericDataSourceProvider.java:106) at org.jkiss.dbeaver.registry.DataSourceDescriptor.connect(DataSourceDescriptor.java:888) at io.cloudbeaver.service.core.impl.WebServiceCore.initConnection(WebServiceCore.java:268) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at io.cloudbeaver.service.WebServiceBindingBase$ServiceInvocationHandler.invoke(WebServiceBindingBase.java:137) at com.sun.proxy.$Proxy6.initConnection(Unknown Source) at io.cloudbeaver.service.core.WebServiceBindingCore.lambda$23(WebServiceBindingCore.java:103) at graphql.execution.instrumentation.dataloader.DataLoaderDispatcherInstrumentation.lambda$instrumentDataFetcher$0(DataLoaderDispatcherInstrumentation.java:86) at graphql.execution.ExecutionStrategy.fetchField(ExecutionStrategy.java:258) at graphql.execution.ExecutionStrategy.resolveFieldWithInfo(ExecutionStrategy.java:197) at graphql.execution.AsyncExecutionStrategy.execute(AsyncExecutionStrategy.java:72) at graphql.execution.Execution.executeOperation(Execution.java:160) at graphql.execution.Execution.execute(Execution.java:101) at graphql.GraphQL.execute(GraphQL.java:591) at graphql.GraphQL.parseValidateAndExecute(GraphQL.java:521) at graphql.GraphQL.executeAsync(GraphQL.java:495) at graphql.GraphQL.execute(GraphQL.java:426) at io.cloudbeaver.server.graphql.GraphQLEndpoint.executeQuery(GraphQLEndpoint.java:250) at io.cloudbeaver.server.graphql.GraphQLEndpoint.executeSingleQuery(GraphQLEndpoint.java:196) at io.cloudbeaver.server.graphql.GraphQLEndpoint.doPost(GraphQLEndpoint.java:179) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:791) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:516) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.sql.SQLException: Could not open client transport for any of the Server URI's in ZooKeeper: Unable to read HiveServer2 uri from ZooKeeper at org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:205) at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:163) at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105) at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.lambda$0(JDBCDataSource.java:176) at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.openConnection(JDBCDataSource.java:195) ... 62 more Caused by: org.apache.hive.jdbc.ZooKeeperHiveClientException: Unable to read HiveServer2 uri from ZooKeeper at org.apache.hive.jdbc.ZooKeeperHiveClientHelper.getNextServerUriFromZooKeeper(ZooKeeperHiveClientHelper.java:86) at org.apache.hive.jdbc.Utils.updateConnParamsFromZooKeeper(Utils.java:507) at org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:203) ... 66 more Caused by: org.apache.hive.jdbc.ZooKeeperHiveClientException: Tried all existing HiveServer2 uris from ZooKeeper. at org.apache.hive.jdbc.ZooKeeperHiveClientHelper.getNextServerUriFromZooKeeper(ZooKeeperHiveClientHelper.java:73) ... 68 more 2021-03-22 09:09:15.553 - GraphQL call failed at '/connection', {credentials=null, id=apache_hive2-178577a5ed1-6f716bea1e51230b, networkCredentials=null, saveCredentials=null} io.cloudbeaver.DBWebException: Error connecting to database: Could not open client transport for any of the Server URI's in ZooKeeper: Unable to read HiveServer2 uri from ZooKeeper at io.cloudbeaver.service.core.impl.WebServiceCore.initConnection(WebServiceCore.java:270) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at io.cloudbeaver.service.WebServiceBindingBase$ServiceInvocationHandler.invoke(WebServiceBindingBase.java:137) at com.sun.proxy.$Proxy6.initConnection(Unknown Source) at io.cloudbeaver.service.core.WebServiceBindingCore.lambda$23(WebServiceBindingCore.java:103) at graphql.execution.instrumentation.dataloader.DataLoaderDispatcherInstrumentation.lambda$instrumentDataFetcher$0(DataLoaderDispatcherInstrumentation.java:86) at graphql.execution.ExecutionStrategy.fetchField(ExecutionStrategy.java:258) at graphql.execution.ExecutionStrategy.resolveFieldWithInfo(ExecutionStrategy.java:197) at graphql.execution.AsyncExecutionStrategy.execute(AsyncExecutionStrategy.java:72) at graphql.execution.Execution.executeOperation(Execution.java:160) at graphql.execution.Execution.execute(Execution.java:101) at graphql.GraphQL.execute(GraphQL.java:591) at graphql.GraphQL.parseValidateAndExecute(GraphQL.java:521) at graphql.GraphQL.executeAsync(GraphQL.java:495) at graphql.GraphQL.execute(GraphQL.java:426) at io.cloudbeaver.server.graphql.GraphQLEndpoint.executeQuery(GraphQLEndpoint.java:250) at io.cloudbeaver.server.graphql.GraphQLEndpoint.executeSingleQuery(GraphQLEndpoint.java:196) at io.cloudbeaver.server.graphql.GraphQLEndpoint.doPost(GraphQLEndpoint.java:179) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:791) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:516) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: org.jkiss.dbeaver.model.exec.DBCConnectException: Could not open client transport for any of the Server URI's in ZooKeeper: Unable to read HiveServer2 uri from ZooKeeper at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.openConnection(JDBCDataSource.java:221) at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.openConnection(GenericDataSource.java:135) at org.jkiss.dbeaver.model.impl.jdbc.JDBCExecutionContext.connect(JDBCExecutionContext.java:101) at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.initializeMainContext(JDBCRemoteInstance.java:95) at org.jkiss.dbeaver.model.impl.jdbc.JDBCRemoteInstance.<init>(JDBCRemoteInstance.java:57) at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.initializeRemoteInstance(JDBCDataSource.java:109) at org.jkiss.dbeaver.ext.generic.model.GenericDataSource.<init>(GenericDataSource.java:107) at org.jkiss.dbeaver.ext.hive.model.HiveDataSource.<init>(HiveDataSource.java:41) at org.jkiss.dbeaver.ext.hive.model.HiveMetaModel.createDataSourceImpl(HiveMetaModel.java:48) at org.jkiss.dbeaver.ext.generic.GenericDataSourceProvider.openDataSource(GenericDataSourceProvider.java:106) at org.jkiss.dbeaver.registry.DataSourceDescriptor.connect(DataSourceDescriptor.java:888) at io.cloudbeaver.service.core.impl.WebServiceCore.initConnection(WebServiceCore.java:268) ... 51 more Caused by: java.sql.SQLException: Could not open client transport for any of the Server URI's in ZooKeeper: Unable to read HiveServer2 uri from ZooKeeper at org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:205) at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:163) at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105) at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.lambda$0(JDBCDataSource.java:176) at org.jkiss.dbeaver.model.impl.jdbc.JDBCDataSource.openConnection(JDBCDataSource.java:195) ... 62 more Caused by: org.apache.hive.jdbc.ZooKeeperHiveClientException: Unable to read HiveServer2 uri from ZooKeeper at org.apache.hive.jdbc.ZooKeeperHiveClientHelper.getNextServerUriFromZooKeeper(ZooKeeperHiveClientHelper.java:86) at org.apache.hive.jdbc.Utils.updateConnParamsFromZooKeeper(Utils.java:507) at org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:203) ... 66 more Caused by: org.apache.hive.jdbc.ZooKeeperHiveClientException: Tried all existing HiveServer2 uris from ZooKeeper. at org.apache.hive.jdbc.ZooKeeperHiveClientHelper.getNextServerUriFromZooKeeper(ZooKeeperHiveClientHelper.java:73) ... 68 more ``` I try replace openjdk with oracle jdk, but error still . I guess maybe kerberos config part not works.
Author
Owner

@BI3QXJ commented on GitHub (Apr 23, 2021):

I install dbeaver on the same machine, it works well, so I guess cloudbeaver may not support kerberos for so far.

@BI3QXJ commented on GitHub (Apr 23, 2021): I install dbeaver on the same machine, it works well, so I guess cloudbeaver may not support kerberos for so far.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/cloudbeaver#118
No description provided.