java - Running hadoop job: Class not found - org.apache.tools.ant.launch.AntMain -
i have locally installed hadoop on debian linux distribution in vmware , having difficulties running test jobs.
i can build create package intellij idea, mrunit tests pass expected.
once try run job, following exception:
exception in thread "main" java.lang.noclassdeffounderror: org/apache/tools/ant/launch/antmain @ java.lang.classloader.defineclass1(native method) @ java.lang.classloader.defineclass(classloader.java:791) @ java.security.secureclassloader.defineclass(secureclassloader.java:142) @ java.net.urlclassloader.defineclass(urlclassloader.java:449) @ java.net.urlclassloader.access$100(urlclassloader.java:71) @ java.net.urlclassloader$1.run(urlclassloader.java:361) @ java.net.urlclassloader$1.run(urlclassloader.java:355) @ java.security.accesscontroller.doprivileged(native method) @ java.net.urlclassloader.findclass(urlclassloader.java:354) @ java.lang.classloader.loadclass(classloader.java:423) @ java.lang.classloader.loadclass(classloader.java:356) @ java.lang.class.forname0(native method) @ java.lang.class.forname(class.java:264) @ org.apache.hadoop.util.runjar.main(runjar.java:190) caused by: java.lang.classnotfoundexception: org.apache.tools.ant.launch.antmain @ java.net.urlclassloader$1.run(urlclassloader.java:366) @ java.net.urlclassloader$1.run(urlclassloader.java:355) @ java.security.accesscontroller.doprivileged(native method) @ java.net.urlclassloader.findclass(urlclassloader.java:354) @ java.lang.classloader.loadclass(classloader.java:423) @ java.lang.classloader.loadclass(classloader.java:356)
i made sure, dependencies, included in jar - can see, ant 1.6.5 included.
i tried install ant , set $ant_home location, no effect.
what might doing wrong?
i using following pom.xml:
<project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelversion>4.0.0</modelversion> <groupid>tl.knyt</groupid> <artifactid>hanoi</artifactid> <version>1.0</version> <name>hanoi</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupid>org.apache.hadoop</groupid> <artifactid>hadoop-core</artifactid> <version>0.20.2-cdh3u4</version> </dependency> <dependency> <groupid>org.apache.hadoop</groupid> <artifactid>hadoop-mrunit</artifactid> <version>0.20.2-cdh3u4</version> </dependency> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>4.10</version> </dependency> </dependencies> <repositories> <repository> <id>cloudera.repos</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> <name>cloudera repos</name> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> </project>
thanks!
make sure in hadoop classpath have jar file org/apache/tools/ant/launch/antmain
you can edit jar file in $hadoop_home/conf/hadoop-site file
you'll have restart hadoop change take effect.
Comments
Post a Comment