U must download the lucene binary jar file,and set the jar file in the classpath.
chenlbspace 写道: > hi, > > I try to use contrib/index/hadoop-0.17.1-index.jar build lucene index, but > Directory NoClassDefFoundError. > > How solve? Thinks. > > Additional, hadoop run Pseudo-Distributed Mode. and can run "bin/hadoop jar > hadoop-*-examples.jar grep input output 'dfs[a-z.]+'" > > ---------------------------error---------------------------------------------------------------------------------- > [EMAIL PROTECTED] hadoop]$ bin/hadoop jar > contrib/index/hadoop-0.17.1-index.jar -inputPaths src/contrib/index/sample > -outputPath index-msg-out -indexPath index -conf > src/contrib/index/conf/index-config.xml > 08/10/09 21:41:28 INFO main.UpdateIndex: inputPaths = src/contrib/index/sample > 08/10/09 21:41:28 INFO main.UpdateIndex: outputPath = index-msg-out > 08/10/09 21:41:28 INFO main.UpdateIndex: shards = null > 08/10/09 21:41:28 INFO main.UpdateIndex: indexPath = index > 08/10/09 21:41:28 INFO main.UpdateIndex: numShards = -1 > 08/10/09 21:41:28 INFO main.UpdateIndex: numMapTasks= -1 > 08/10/09 21:41:28 INFO main.UpdateIndex: confPath = > src/contrib/index/conf/index-config.xml > 08/10/09 21:41:28 INFO main.UpdateIndex: Elapsed time is 0s > Elapsed time is 0s > java.lang.NoClassDefFoundError: org/apache/lucene/store/Directory > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:247) > at > org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:581) > at > org.apache.hadoop.conf.Configuration.getClass(Configuration.java:599) > at > org.apache.hadoop.conf.Configuration.getClass(Configuration.java:625) > at > org.apache.hadoop.contrib.index.mapred.IndexUpdateConfiguration.getIndexUpdaterClass(IndexUpdateConfiguration.java:145) > at > org.apache.hadoop.contrib.index.main.UpdateIndex.main(UpdateIndex.java:257) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.hadoop.util.RunJar.main(RunJar.java:155) > at org.apache.hadoop.mapred.JobShell.run(JobShell.java:194) > at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) > at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79) > at org.apache.hadoop.mapred.JobShell.main(JobShell.java:220) > Caused by: java.lang.ClassNotFoundException: org.apache.lucene.store.Directory > at java.net.URLClassLoader$1.run(URLClassLoader.java:200) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:188) > at java.lang.ClassLoader.loadClass(ClassLoader.java:306) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) > ... 16 more > > ----------------------------------------------------------------------------------------------------------------- > > 2008-10-10 > > > > chenlbspace > >