Support Questions

Find answers, ask questions, and share your expertise

Connect Cloudera HIVE ODBC 2.6.4 to HiveServer2

avatar
Explorer

Can you help me with my DSN configuration? I'm getting this error on HS2 Logs and can't find the reason.

 

 

2021-07-09T15:33:43,215 ERROR [HiveServer2-Handler-Pool: Thread-125]: server.TThreadPoolServer (:()) - Error occurred during processing of message.
java.lang.RuntimeException: org.apache.thrift.transport.TSaslTransportException: No data or no sasl data in the stream
        at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:219) ~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315]
        at org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory$1.run(HadoopThriftAuthBridge.java:694) ~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315]
        at org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory$1.run(HadoopThriftAuthBridge.java:691) ~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315]
        at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_112]
        at javax.security.auth.Subject.doAs(Subject.java:360) ~[?:1.8.0_112]
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1710) ~[hadoop-common-3.1.1.3.1.4.0-315.jar:?]
        at org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory.getTransport(HadoopThriftAuthBridge.java:691) ~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315]
        at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:269) ~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[?:1.8.0_112]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[?:1.8.0_112]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_112]
Caused by: org.apache.thrift.transport.TSaslTransportException: No data or no sasl data in the stream
        at org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:326) ~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315]
        at org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41) ~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315]
        at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216) ~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315]

 

 

My DSN configuration is like this:

Bedjase_3-1625843825459.png

The hostname is where the HS2 is installed.

The FQDN is from the HS2 machine

 

Properties set on Ambari:

Bedjase_1-1625841766304.png

Bedjase_2-1625841784595.png

Other things

I have a valid token to access the cluster, this token isn't from the hive service.

I have connection through port 10000 from windows by performing a telnet

I'm following this documentation: https://docs.cloudera.com/documentation/other/connectors/hive-odbc/2-6-4/Cloudera-ODBC-Driver-for-Ap...

 

Regards!

1 REPLY 1

avatar
Expert Contributor

I can see you are in HDP but you are using Cloudera Driver(https://www.cloudera.com/downloads/connectors/hive/odbc/2-6-4.html)


The first thing you need to do is start using Hortonworks Driver if you are using Ambari, link to download and configure is present in https://www.cloudera.com/downloads/hdp.html

 

How to configure it? Check out the below link

https://docs.cloudera.com/HDPDocuments/other/connectors/hive-jdbc/2.6.7/Simba-Hive-JDBC-Install-and-...

 

The error which had been shared should not harm connecting to Hive.

 

To figure out the exact reason for the ODBC failure you need to enable TRACE logs as below

You can configure the log level following those ways:
If the client uses an ODBC on MS Windows machines, set the Log level on the Driver to TRACE and try a connection attempt, gather the driver logs:
ODBC Driver Configuration > DataSourceAdministrator> select the DSN> Configure > Logging Options > set LogLevel: TRACE
ODBC Driver Configuration > DataSourceAdministrator> select the DSN> Configure > Logging Options > set Log Path: "C:/"
OK > OK
ODBC Driver Configuration > DataSourceAdministrator> select the DSN> Configure > Test...