Support Questions
Find answers, ask questions, and share your expertise

Hive JDBC : Could not open client transport with JDBC Uri

Hello,

I tried to connect to hive using jdbc but i had the following error:

Error: Could not open client transport with JDBC Uri: jdbc:hive2://server:10000/;principal=<Server_Principal_of_HiveServer2> java.net.ConnectException: Connection refused (state=08S01,code=0)

I got the same error from beeline : beeline -u 'jdbc:hive2://server:10000/;principal=<Server_Principal_of_HiveServer2>'

I will be thankfull for your help.

thanks

Hive version: 1.2.1

HDP: 2.3

1 ACCEPTED SOLUTION

Accepted Solutions

Re: Hive JDBC : Could not open client transport with JDBC Uri

Rising Star

is your hive Server is running in HTTP mode?

Connection URL When HiveServer2 Is Running in HTTP Mode:-

jdbc:hive2://<host>:<port>/<db>;transportMode=http;httpPath=<http_endpoint>

where:-

<http_endpoint> is the corresponding HTTP endpoint configured in hive-site.xml. Default value is cliservice.

Default port for HTTP transport mode is 10001.

View solution in original post

11 REPLIES 11

Re: Hive JDBC : Could not open client transport with JDBC Uri

Expert Contributor

Have you checked if hive services are running? Also server name is correct?

Re: Hive JDBC : Could not open client transport with JDBC Uri

Is this a kerberos enabled cluster?

Re: Hive JDBC : Could not open client transport with JDBC Uri

New Contributor

I have the same issue and in my case it is a Kerberos-enabled cluster. I modified the beeline command as follows:

 

${HIVE_HOME}/bin/beeline -u "jdbc:hive2://<server_name>:10015/default ssl=true;principal=<principal_name>/<hostname>@<REALM>;auth=kerberos; '' ''" "$@"

 

I get two errors:

- Unknown HS2 problem when communicating with Thrift server.

- Error: Could not open client transport with JDBC Uri: jdbc:hive2://<node_name>:10015/default: Invalid status 21 (state=08S01,code=0)

 

I would appreciate any help.

Re: Hive JDBC : Could not open client transport with JDBC Uri

Rising Star

is your hive Server is running in HTTP mode?

Connection URL When HiveServer2 Is Running in HTTP Mode:-

jdbc:hive2://<host>:<port>/<db>;transportMode=http;httpPath=<http_endpoint>

where:-

<http_endpoint> is the corresponding HTTP endpoint configured in hive-site.xml. Default value is cliservice.

Default port for HTTP transport mode is 10001.

View solution in original post

Re: Hive JDBC : Could not open client transport with JDBC Uri

Rising Star

I may be able to provide analysis if you can post any error in hive server2 log.

First thing is to check if hive server2 is up and running properly.

Re: Hive JDBC : Could not open client transport with JDBC Uri

Mentor

@Ahmed Missaoui can you accept the best answer to close this thread?

Re: Hive JDBC : Could not open client transport with JDBC Uri

New Contributor
  1. Kill your hiveserver2 & metastore & Restart them again.
  2. check hiveserver2 & metastore are running using 'jps' command.
  3. Run "root@hostname~]# beeline -u jdbc:hive2://localhost:10000/" .
  4. if still getting this error then replace "localhost" with "hostname " of step 3
  • These above steps has worked for me.

Re: Hive JDBC : Could not open client transport with JDBC Uri

Expert Contributor

These can be few reasons :

1) other instance of database may be running .

2) namenode might be in safe mode

3) common localhost:9000 connection refused error.

Best way is to check the hive logs and debug it.

Re: Hive JDBC : Could not open client transport with JDBC Uri

Expert Contributor

This happened to me. What I did was connect run the command below from beeline:

beeline> !connect jdbc:hive2://

Then, will ask for my user and pass, and i'm connected to my hive.

I'm having issues now connecting to hiveserver from Hue and Ambari View thou. :(

EDIT:

I have 2 hiveserver2, hive metastore and webhcat servers.