Created 06-17-2017 02:29 PM
Hive Database Connection Pooling Service -- it says cannot create ppolable connection factory. I tried below command in the Database connection url. jdbc:hive2://myserver:8443/; Is there way to get the exact jdbc Database connection url
Created on 06-17-2017 02:40 PM - edited 08-17-2019 08:48 PM
Did you try the "HiveServer2 JDBC URL" mentioned in the Hive Service section in the Ambari UI?
.
By clicking on the copy to clipboard button at the end of the URL you can get the connection url.
.
- If that does not work then can you please let us know if by any chance you have enabled SSL (i se port 8443)
- Also are you using kerberized setup?
- How are you trying to connect to HiveServer2 (using Shell, Java code ...etc), Can you please share the complete stackTrace of the Error that you are getting?
.
Created 06-17-2017 04:04 PM
Created 06-17-2017 04:28 PM
Looks like the Hive Server JDBC URL is not being set correctly.
Can you please refer to the following article to determine the URL: https://community.hortonworks.com/articles/4103/hiveserver2-jdbc-connection-url-examples.html
.
Created 06-18-2017 12:28 AM
Hi Jay
I went through the link but now sure which method is enabled.
here is the snapshot of the hive-site.xml.
<property> <name>hive.server2.allow.user.substitution</name> <value>true</value> </property> <property> <name>hive.server2.authentication</name> <value>NONE</value> </property> <property> <name>hive.server2.authentication.spnego.keytab</name> <value>HTTP/_HOST@EXAMPLE.COM</value> </property> <property> <name>hive.server2.authentication.spnego.principal</name> <value>/etc/security/keytabs/spnego.service.keytab</value> </property> <property> <name>hive.server2.enable.doAs</name> <value>false</value> </property> <property> <name>hive.server2.logging.operation.enabled</name> <value>true</value> </property> <property> <name>hive.server2.logging.operation.log.location</name> <value>/tmp/hive/operation_logs</value> </property> <property> <name>hive.server2.max.start.attempts</name> <value>5</value> </property> <property> <name>hive.server2.support.dynamic.service.discovery</name> <value>true</value> </property> <property> <name>hive.server2.table.type.mapping</name> <value>CLASSIC</value> </property> <property> <name>hive.server2.tez.default.queues</name> <value>default</value> </property> <property> <name>hive.server2.tez.initialize.default.sessions</name> <value>false</value> </property> <property> <name>hive.server2.tez.sessions.per.default.queue</name> <value>1</value> </property> <property> <name>hive.server2.thrift.http.path</name> <value>cliservice</value> </property> <property> <name>hive.server2.thrift.http.port</name> <value>10001</value> </property> <property> <name>hive.server2.thrift.max.worker.threads</name> <value>500</value> </property> <property> <name>hive.server2.thrift.port</name> <value>10000</value> </property> <property> <name>hive.server2.thrift.sasl.qop</name> <value>auth</value> </property> <property> <name>hive.server2.transport.mode</name> <value>binary</value> </property> <property> <name>hive.server2.use.SSL</name> <value>false</value> </property> <property> <name>hive.server2.zookeeper.namespace</name> <value>hiveserver2</value> </property>
Created 06-18-2017 04:06 AM
We see that you are using Kerberized Hive.
So you should be defining the Principal in the HiveServer2 connection URL, Something like:
jdbc:hive2://<hostname>:10000/<hive_db>;principal=hive/_HOST@EXAMPLE.COM
.
Created 06-21-2017 12:36 PM
Hi jay
I tried above command but it is throwing me below error
jdbc:hive2://xxxx.com:10000/default;principal=hive/_HOST@EXAMPLE.COM
<property> <name>hive.metastore.kerberos.keytab.file</name> <value>/etc/security/keytabs/hive.service.keytab</value> </property> <property> <name>hive.metastore.kerberos.principal</name> <value>hive/_HOST@EXAMPLE.COM</value> </property>