Configure SAS/ACCESS® Interface to Hadoop and SAS® Data Loader for Hadoop to support Hortonworks Data Platform (HDP) 2.6.3 or later


HDP 2.6.3 has dropped support for Java 7 and now requires Java 8. Beginning with version 9.4 TS1M6, SAS® will use and support the Java 8 Java Runtime Environment (JRE). Therefore, configuration changes are not required. SAS® 9.4 TS1M5 and earlier continue to use and support a Java 7 JRE for SAS® 9.4 deployments.

This SAS Note pertains to all SAS 9.4 TS1M5 and earlier Hadoop products. SAS 9.4 TS1M5 and earlier does not support SAS® Grid Manager for Hadoop, which at this time is not supported with HDP 2.6.3 or later.

Note: The SAS® Viya® platform and SAS 9.4 TS1M6 both support Java 8 and are not affected by this change. The update described in this note is not required for installations of SAS Viya or SAS 9.4 TS1M6.

Symptoms

When you connect to an HDP 2.6.3 or later cluster, you receive the following error message:

Unsupported major.minor version 52.0

Then, when you execute a LIBNAME connection to your database, you receive the following error:

ERROR: Error trying to establish connection: java.lang.UnsupportedClassVersionError: org/apache/hive/jdbc/HiveDriver : Unsupported major.minor version 52.0
ERROR: Error in the LIBNAME statement.

If you you execute a DS2 program on a Hive table, you receive the following error:  

ERROR: ERROR: java.lang.UnsupportedClassVersionError: org/apache/tez/mapreduce/client/YarnTezClientProtocolProvider : Unsupported major.minor version 52.0

Also, when you execute the HiveCheck Java stand-alone program against your HDP 2.6.3 or later install to validate your database connection outside of SAS, you get the following message:

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/hive/jdbc/HiveDriver : Unsupported major.minor version 52.0

If you encounter these errors, you need to complete the steps detailed in the Workaround section.

Workaround

SAS has developed a workaround that enables SAS 9.4 (with the latest hot fixes installed) to work with HDP 2.6.3 or later.

To support HDP 2.6.3 or later, you must first gather the JAR files and configuration files from the HDP cluster, and then replace some of the JAR files with those from an online HDP 2.6.2 repository.

SAS/ACCESS® Interface to Hadoop

Complete the following steps to configure SAS/ACCESS Interface to Hadoop to support HDP 2.6.3 or later:

  1. Use the SAS® Deployment Manager to download the JAR files and configuration files to the SAS client machine.
  2. Navigate to the SAS Hadoop client JAR directory that was defined in step 1.
  3. Remove all HDP 2.6.3 or later JAR files with file names that begin with "hive" or "tez."​
  4. Download the latest HDP 2.6.2 Hive JAR files from the Hortonworks Index of /repositories/releases/org/apache/hive and place them in the SAS Hadoop client JAR directory.
  5. Download the latest HDP 2.6.2 Tez JAR files from the Hortonworks Index of /repositories/releases/org/apache/tez and place them in the SAS Hadoop client JAR directory.

SAS® Data Loader for Hadoop

Complete the following steps to configure SAS Data Loader for Hadoop to support HDP 2.6.3 or later:

  1. Use the SAS® Deployment Manager to download the JAR files and configuration files to the SAS client machine.
  2. Stop the SAS Data Loader for Hadoop middle tier. 
  3. Navigate to the SAS Hadoop client JAR directory that was defined in step 1.
  4. Remove all HDP 2.6.3 or later JAR files with filenames that begin with "hive" or "tez."
  5. Download the latest HDP 2.6.2 Hive JAR files from the Hortonworks Index of /repositories/releases/org/apache/hive and place them in the SAS Hadoop client JAR directory.
  6. Download the latest HDP 2.6.2 Tez JAR files from the Hortonworks Index of /repositories/releases/org/apache/tez and place them in the SAS Hadoop client JAR directory.
  7. Start SAS Data Loader for Hadoop middle tier. 
  8. If you have a clustered SAS middle tier, you must update each SAS Data Loader for Hadoop middle tier using steps 1 through 7. 

Note: Hive JAR files from the Hortonworks Index correspond to the Beeline client version. Use the command-line interpreter (CLI) to check the version by running the following command: beeline --version

Beeline Version: 1.2.1000 requires Hive JAR files with the prefix 1.2.1000.2.6.2.#-#/

Beeline Version: 2.1.0 requires Hive JAR files with the prefix 2.1.0.2.6.2.#-#/