Problem Note 63279: "Client cannot authenticate via:[TOKEN, KERBEROS]" occurs when you try to write data to Hadoop
When using the HADOOP procedure or a LIBNAME statement with the Hadoop engine to write data to Hadoop, you might get the following Kerberos error:
Client cannot authenticate via:[TOKEN, KERBEROS];
Symptoms
When making a LIBNAME connection to Hadoop, you might get an error that the LIBNAME statement did not assign successfully:
LIBNAME myhive HADOOP SERVER='server_name.sas.com' HDFS_TEMPDIR='/sasuser';
ERROR: HDFS_TEMPDIR directory /sasuser does not exist or is inaccessible.
ERROR: Error in the LIBNAME statement.
To check the permission on the HDFS_TEMPDIR directory, you can try writing to HDFS by using PROC HADOOP, which results in the following error:
PROC HADOOP VERBOSE;
HDFS MKDIR="/sasuser/test";
ERROR: java.io.IOException: Failed on local exception: java.io.IOException: org.apache.hadoop.security.AccessControlException:
Client cannot authenticate via:[TOKEN, KERBEROS]; Host Details : local host is: "<hostname>";
destination host is: "<hostname>":8020;
Similarly, the LIBNAME statement might assign successfully without the HDFS_TEMPDIR option. But, when trying to write data to HDFS, you get the same error:
LIBNAME myhive HADOOP SERVER='server_name.sas.com';
NOTE: Libref MYHIVE was successfully assigned as follows:
Engine: HADOOP
DATA myhive.tablename;
SET sashelp.cars;
RUN;
ERROR: java.io.IOException: Failed on local exception: java.io.IOException: org.apache.hadoop.security.AccessControlException:
Client cannot authenticate via:[TOKEN, KERBEROS]; Host Details : local host is: "<hostname>";
destination host is: "<hostname>":8020;
Cause
This is not actually a Kerberos issue as indicated by the error. The LIBNAME statement should assign correctly without using the HDFS_TEMPDIR option and be able to read data from Hadoop. The error occurs only when you try to write data.
The issue appears to be a Java classpath issue with some releases of Hadoop.
Workaround
To work around this issue, make a copy of the core-site.xml and move it into the SAS_HADOOP_JAR_PATH directory.
Operating System and Release Information
SAS System | SAS/ACCESS Interface to Hadoop | Microsoft® Windows® for x64 | | |
Microsoft Windows 8 Enterprise 32-bit | | |
Microsoft Windows 8 Enterprise x64 | | |
Microsoft Windows 8 Pro 32-bit | | |
Microsoft Windows 8 Pro x64 | | |
Microsoft Windows 8.1 Enterprise 32-bit | | |
Microsoft Windows 8.1 Enterprise x64 | | |
Microsoft Windows 8.1 Pro 32-bit | | |
Microsoft Windows 8.1 Pro x64 | | |
Microsoft Windows 10 | | |
Microsoft Windows 95/98 | | |
Microsoft Windows 2000 Advanced Server | | |
Microsoft Windows 2000 Datacenter Server | | |
Microsoft Windows 2000 Server | | |
Microsoft Windows 2000 Professional | | |
Microsoft Windows NT Workstation | | |
Microsoft Windows Server 2003 Datacenter Edition | | |
Microsoft Windows Server 2003 Enterprise Edition | | |
Microsoft Windows Server 2003 Standard Edition | | |
Microsoft Windows Server 2003 for x64 | | |
Microsoft Windows Server 2008 | | |
Microsoft Windows Server 2008 R2 | | |
Microsoft Windows Server 2008 for x64 | | |
Microsoft Windows Server 2012 Datacenter | | |
Microsoft Windows Server 2012 R2 Datacenter | | |
Microsoft Windows Server 2012 R2 Std | | |
Microsoft Windows Server 2012 Std | | |
Microsoft Windows Server 2016 | | |
Microsoft Windows XP Professional | | |
Windows 7 Enterprise 32 bit | | |
Windows 7 Enterprise x64 | | |
Windows 7 Home Premium 32 bit | | |
Windows 7 Home Premium x64 | | |
Windows 7 Professional 32 bit | | |
Windows 7 Professional x64 | | |
Windows 7 Ultimate 32 bit | | |
Windows 7 Ultimate x64 | | |
Windows Millennium Edition (Me) | | |
Windows Vista | | |
Windows Vista for x64 | | |
64-bit Enabled AIX | | |
64-bit Enabled Solaris | | |
HP-UX IPF | | |
Linux for x64 | | |
Solaris for x64 | | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
When using PROC HADOOP or a LIBNAME statement with the Hadoop engine to write data to HDFS, you can get a Kerberos error. To work around the issue, move a copy of the core-site.xml file into SAS_HADOOP_JAR_PATH directory.
Type: | Problem Note |
Priority: | high |
Date Modified: | 2018-12-04 07:32:54 |
Date Created: | 2018-11-27 12:22:50 |