|
|
-
Issue with third party librarySampath Herga 2012-12-05, 11:53
Hi,
I was just trying to setup hadoop and run some sample programs. I ran into some issues when trying to add a required library. I tried using the DistributedCache methods to try adding to the classpath. The basic code is: Path mysqlJar = new Path("target/classes/META-INF/mysql-connector-java-3.1.12-bin.jar"); fs.copyFromLocalFile(mysqlJar, mysqlJar); DistributedCache.addArchiveToClassPath(mysqlJar, jobConf, fs); I did a copyFromLocal since I wasnt sure where it would get picked from. I tried both addArchiveToClassPath and addFileToClassPath. But with both, I get a ClassNotFoundException. Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at org.apache.hadoop.mapred.lib.db.DBInputFormat.configure(DBInputFormat.java:271) ... 16 more The job seems to have got the file added and also checked in the tasktracker local dir and the file seems to be present. <property><name>mapred.job.classpath.archives</name><value>target/classes/META-INF/mysql-connector-java-3.1.12-bin.jar</value></property> Any clues would be helpful. I dont think I can use -libjars since I am trying to execute the hadoop jobs from within another application and not from the command line. Regards, Sampath. |