I ran into the same problem today.  Found a solution that works:

bin/hadoop jar -libjars <comma separated jars> hadoop-xxx-index.jar
-inputPaths...

E.g., in your particular case, you command will look like:

bin/hadoop jar -libjars lib/lucene-core-2.3.1.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


Kyle



On Fri, 2008-10-10 at 16:35 +0800, chenlbspace wrote:
> 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 

Reply via email to