10 Replies Latest reply on Feb 19, 2020 10:26 PM by Chenchen Wang

    An error occurred while communicating with Hortonworks Hadoop Hive

    Chris Allen

      Tableau 2nd level support was unable to provide any resolution and recommended I reach out to the community for their vast knowledge so here goes:

       

      Looking to connect from Tableau Desktop to Hortonworks Data Platform v3.1 Hive instance using ODBC driver supplied by Cloudera using native functionality within Tableau Desktop but failing with a connection error.

       

      Error message:

      An error occurred while communicating with Hortonworks Hadoop Hive.

      Unable to connect to the server. Check that the server is running and that you have access privileges to the requested database.

      Unable to connect to the ODBC Data Source. Check that the necessary drivers are installed and that the connection properties are valid.

      [Hortonworks][DriverSupport] (1110) Unexpected response received from server. Please ensure the server host and port specified for the connection are correct and confirm if SSL should be enabled for the connection.

      Unable to connect to the Hortonworks Hadoop Hive server "10.86.180.9:2181,10.86.180.10:2181,10.86.180.46:2181". Check that the server is running and that you have access privileges to the requested database.

      HortonworksHiveConnectFailure.PNG

      This error message is a bit misleading in that it is the error message surfaced after failing to connect with a 64-bit driver and then defaulting to a 32-bit driver (which isn't installed). Rest assured, the 64-bit driver is installed and configured correctly as demonstrated below.

       

      Environment:

      Tableau Desktop v2018.3.2 (I know, it should be upgraded but the server is at this level too)

      Windows 10 64-bit installation on laptop

      Downloaded and installed Hortonworks 2.6.1 ODBC driver (64 bit)

      Hive v3.1 with username/password authentication (not Kerberos enabled) and not SSL enabled

      ODBC64_HortonworksDriver.PNG

      Tested ODBC connection to ensure driver was installed correctly (which was successful)

      HortonworksODBCTest.PNG

       

      Hive has Zookeeper quorum setup for connections on three different nodes (which is the minimum):

      • 10.86.180.9:2181
      • 10.86.180.10:2181
      • 10.86.180.46:2181

       

      Recommended by Tableau 2nd level support to use .tdc file to pass additional parameters to connection string (for Zookeeper quorum information). Contents of .tdc file (yes, it is named with a .tdc extension in the DataSources folder):

      <?xml version='1.0' encoding='utf-8' ?>

      <connection-customization class='hortonworkshadoophive' enabled='true' version='10.0'>

         <vendor name='hortonworkshadoophive' />

         <driver name='hortonworkshadoophive' />

          <customizations>

              <customization name='odbc-connect-string-extras' value='serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2;'/>

          </customizations>

      </connection-customization>

       

      I have included snippets of the relevant logs generated with Tableau which don't provide a lot more information (unfortunately)

       

      Am able to use other client-side toolsets to establish JDBC connectivity (which to be honest, I would prefer) using the following connect string (username and password provided separately in interface):

      jdbc:hive2://10.86.180.9:2181,10.86.180.10:2181,10.86.180.46:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2

       

      Really hoping someone has come across this before as I would think it is a common enviornment setup (and Tableau Support was unable to assist)