Hello,
I am trying to configure SAS access to Hadoop and running into the below error when running the Sample Lib code for SAS Hadoop connectivity. I am using HDP 2.2 and used the hadooptracer.py script to get all the jar and conf files. I set the SAS_HADOOP_CONFIG_PATH and SAS_HADOOP_JAR_PATH to the respective files.
We are using kerberos so maybe I am missing some other step? From the SAS Server i can access hdfs and hive. This is the error we are recieving as well as the lib code we are using: (also not i tried settign subprotocol=hive2 but that did not resolve anything)
options set=SAS_HADOOP_CONFIG_PATH "/sasdev/app/sasinst/hadoop/conf";
options set=SAS_HADOOP_JAR_PATH "/sasdev/app/sasinst/hadoop/lib";
libname hdplib hadoop server="700224-hdp.coach.com";
1 ;*';*";*/;quit;run;
2 OPTIONS PAGENO=MIN;
3 %LET _CLIENTTASKLABEL='Program';
4 %LET _CLIENTPROJECTPATH='';
5 %LET _CLIENTPROJECTNAME='';
6 %LET _SASPROGRAMFILE=;
7
8 ODS _ALL_ CLOSE;
9 OPTIONS DEV=ACTIVEX;
10 GOPTIONS XPIXELS=0 YPIXELS=0;
11 FILENAME EGSR TEMP;
12 ODS tagsets.sasreport13(ID=EGSR) FILE=EGSR STYLE=HtmlBlue
12 ! STYLESHEET=(URL="file:///C:/Program%20Files/SASHome/SASEnterpriseGuide/5.1/Styles/HtmlBlue.css") NOGTITLE NOGFOOTNOTE
12 ! GPATH=&sasworklocation ENCODING=UTF8 options(rolap="on");
NOTE: Writing TAGSETS.SASREPORT13(EGSR) Body file: EGSR
13
14 GOPTIONS ACCESSIBLE;
15 options set=SAS_HADOOP_CONFIG_PATH "/sasdev/app/sasinst/hadoop/conf";
16 options set=SAS_HADOOP_JAR_PATH "/sasdev/app/sasinst/hadoop/lib";
17 libname hdplib hadoop server="700224-hdp.coach.com";
ERROR: Unable to connect to the Hive server.
WARNING: Connection to HiveServer2 failed. Attempting to connect using Hive1. Set SUBPROTOCOL=hive2 if you are running HiveServer2.
Set SUBPROTOCOL=hive if you are running Hive1.
ERROR: Could not open connection to jdbc:hive://700224-hdp.coach.com:10000/default;principal=hive/_HOST@DEV.COACH.COM. Check your
Hive server status and also set option SUBPROTOCOL= appropriately. Set SUBPROTOCOL=hive2 if you are running HiveServer2.
Set SUBPROTOCOL=hive if you are running Hive1.
ERROR: Error trying to establish connection.
ERROR: Error in the LIBNAME statement.
18
19 GOPTIONS NOACCESSIBLE;
20 %LET _CLIENTTASKLABEL=;
21 %LET _CLIENTPROJECTPATH=;
22 %LET _CLIENTPROJECTNAME=;
23 %LET _SASPROGRAMFILE=;
24
25 ;*';*";*/;quit;run;
26 ODS _ALL_ CLOSE;
27
28
29 QUIT; RUN;
30
So i have confirmed that it is soemthing kerberos related.
I ran the SAS deployment manager which pulled down the JAR/CONF files and i have verified that the SAS_HADOOP_CONFIG_PATH and SAS_HADOOP_JAR_PATH are pointing to the correct path.
Can someone outline the steps involved with kerberos? It is a little unclear. Which user does it try to authenticate with when it runs the libname command?
I created a ticket (kinit) with the user on the SAS server (this allows me to access hdfs) and tried to EXPORT KRB5CCNAME=/tmp/krb5_"id" but that did not work either.
Does the HDFS/HIVE on the cluster user need to have a valid ticket?
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.
Find more tutorials on the SAS Users YouTube channel.