Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

Using sqoop to import tables\db from MS SQL Server ERROR major.minor version 52.0

Highlighted

Using sqoop to import tables\db from MS SQL Server ERROR major.minor version 52.0

New Contributor

I already gain access to see db and tables, my issue is something with my java versioning.

I copied the microsoft sqljdbc41 driver to sqoop lib folder but getting an issue:

18/04/17 15:23:53 INFO mapreduce.Job: Running job: job_1523340183618_0034 

18/04/17 15:24:00 INFO mapreduce.Job: Job job_1523340183618_0034 running in uber mode : false 

18/04/17 15:24:00 INFO mapreduce.Job: map 0% reduce 0% 

18/04/17 15:24:05 INFO mapreduce.Job: Task Id : attempt_1523340183618_0034_m_000000_0, Status : FAILED Error: _10Mil_DNT : Unsupported major.minor version 52.0 

18/04/17 15:24:11 INFO mapreduce.Job: Task Id : attempt_1523340183618_0034_m_000000_1, Status : FAILED Error: _10Mil_DNT : Unsupported major.minor version 52.0 

18/04/17 15:24:15 INFO mapreduce.Job: Task Id : attempt_1523340183618_0034_m_000000_2, Status : FAILED Error: _10Mil_DNT : Unsupported major.minor version 52.0 

18/04/17 15:24:20 INFO mapreduce.Job: map 100% reduce 0% 

18/04/17 15:24:20 INFO mapreduce.Job: Job job_1523340183618_0034 failed with state FAILED due to: Task failed task_1523340183618_0034_m_000000 Job failed as tasks failed. failedMaps:1 failedReduces:0 

18/04/17 15:24:20 INFO mapreduce.Job: Counters: 11 Job Counters Failed map tasks=4 Launched map tasks=4 Other local map tasks=4 Total time spent by all maps in occupied slots (ms)=13588 Total time spent by all reduces in occupied slots (ms)=0 Total time spent by all map tasks (ms)=13588 Total vcore-seconds taken by all map tasks=13588 Total megabyte-seconds taken by all map tasks=13914112 Map-Reduce Framework CPU time spent (ms)=0 Physical memory (bytes) snapshot=0 Virtual memory (bytes) snapshot=0 

18/04/17 15:24:20 WARN mapreduce.Counters: Group FileSystemCounters is deprecated. Use org.apache.hadoop.mapreduce.FileSystemCounter instead 

18/04/17 15:24:20 INFO mapreduce.ImportJobBase: Transferred 0 bytes in 30.6801 seconds (0 bytes/sec) 

18/04/17 15:24:20 INFO mapreduce.ImportJobBase: Retrieved 0 records. 

18/04/17 15:24:20 ERROR tool.ImportTool: Error during import: Import job failed!"

My machine java version is "1.8.0_131".

how can I fix that?

5 REPLIES 5
Highlighted

Re: Using sqoop to import tables\db from MS SQL Server ERROR major.minor version 52.0

@Yishai Bouganim
  1. Using HDP?
  2. If not using HDP, and have linux cluster, can you please share the configuration of JDK? What is JAVA_HOME?
  3. What is the Sqoop version?
  4. This is Java version incompatibility. So please check all Java related configs and share in the question.
Highlighted

Re: Using sqoop to import tables\db from MS SQL Server ERROR major.minor version 52.0

New Contributor

1. Yes

3. Sqoop 1.4.6-cdh5.9.1

4. What I need to check except JDBC Driver and Machine Java Version?

Highlighted

Re: Using sqoop to import tables\db from MS SQL Server ERROR major.minor version 52.0

@Yishai Bouganim

Microsoft JDBC driver 4.1 for MS SQL Server is not compatible with Java 1.8.
Starting with the Microsoft JDBC Driver 4.2 for SQL Server, only Sun Java SE Development Kit (JDK) 1.8 and Java Runtime Environment (JRE) 1.8 are supported.

Use compatible version of MS SQLServer JDBC with the given Java version.

  1. For Java version 1.7, use sqlijdbc41.jar
  2. For Java version 1.8 use sqlijdbc42.jar


REFERENCE
MSDN Article MS378422 System Requirements for JDBC Driver

Highlighted

Re: Using sqoop to import tables\db from MS SQL Server ERROR major.minor version 52.0

Mentor

@Yishai Bouganim

Here is the major version of every JRE released so far :

Java SE 8 = 52,
Java SE 7 = 51,
Java SE 6.0 = 50,
Java SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45

You can see that Java 8 has major version 52, which means if you run javac command from Java 8 installation, it will by default generate a class with major version 52. If you run this class file in JRE 7, you will get "Unsupported major.minor version 52.0". Same is the case with an applet compiled in JDK 1.8, running in a browser with JRE 1.7.
So check your JRE version

Highlighted

Re: Using sqoop to import tables\db from MS SQL Server ERROR major.minor version 52.0

Expert Contributor

@Yishai Bouganim

Use java 1.7 with sqljdbc41 driver

Don't have an account?
Coming from Hortonworks? Activate your account here