Hi,
We are trying to import data from a SQL Server with Kerberos authentication
using Sqoop and we are seeing the following error.
Caused by: java.sql.SQLException: [DataDirect][SQLServer JDBC Driver]A username
was not specified and the driver could not establish a connection using
Kerberos (type 4) integrated security: No valid credentials provided
at com.ddtek.jdbc.sqlserverbase.ddcw.b(Unknown Source)
at com.ddtek.jdbc.sqlserverbase.ddcw.a(Unknown Source)
at com.ddtek.jdbc.sqlserverbase.ddcv.b(Unknown Source)
at com.ddtek.jdbc.sqlserverbase.ddcv.a(Unknown Source)
at com.ddtek.jdbc.sqlserver.tds.ddc.<init>(Unknown Source)
at com.ddtek.jdbc.sqlserver.SQLServerImplConnection.f(Unknown
Source)
at com.ddtek.jdbc.sqlserverbase.BaseConnection.b(Unknown Source)
at com.ddtek.jdbc.sqlserverbase.BaseConnection.k(Unknown Source)
at com.ddtek.jdbc.sqlserverbase.BaseConnection.b(Unknown Source)
at com.ddtek.jdbc.sqlserverbase.BaseConnection.a(Unknown Source)
at com.ddtek.jdbc.sqlserverbase.BaseDriver.connect(Unknown
Source)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at
org.apache.sqoop.mapreduce.db.DBConfiguration.getConnection(DBConfiguration.java:300)
at
org.apache.sqoop.mapreduce.db.DBInputFormat.getConnection(DBInputFormat.java:213)
... 10 more
However, the similar with the list-tables works. Which means the Kerberos part
works to some extent. We are looking to your team to assist or provide
guidance. I can arrange a working session if that is more appropriate.
* This works with Authentication
sqoop list-tables --driver com.ddtek.jdbc.sqlserver.SQLServerDriver --connect
"jdbc:Datadirect:Sqlserver://<server1>:1433;databaseName=srt_test;authenticationMethod=kerberos;encryptionMethod=SSL;validateServerCertificate=true;TrustStore=/etc/pki/tls/trust.jks;TruststorePassword=<pass>"
* This does not
sqoop import --driver com.ddtek.jdbc.sqlserver.SQLServerDriver --connect
"jdbc:Datadirect:Sqlserver://<server1>:1433;databaseName=srt_test;authenticationMethod=kerberos;encryptionMethod=SSL;validateServerCertificate=true;TrustStore=/etc/pki/tls/trust.jks;TruststorePassword=<pass>"
--table "dbo.QA_SQOOP_TEST_EXPORT" --target-dir "/tmp/dbo-export" -m 1
Can anyone please let me know what's going wrong here?
Thanks,
Saikrishna