Hallo,
I have a cluster of four machines running hadoop-0.19.1 and hbase-0.19.3.
I am interested to write a program where the map function reads from the
hbase.
I was able to compile and run the simple Java example MyClient from the
"HBASE 0.19.3 API" document.
Now I tried the example BulkImport which is very close to my need, I was
able to compile it but got and error
when running it.
*For running it I did the following *
-I have created a testfile containing four strings "row1 10
mytable:column1 value1" separated with tabs
-I have copied the testfile to the dfs.
-Using the hbase shell, I have created a table called "mytable" with the
family column "column1"
-I run the program: *bin/hbase BulkImport testfile mytable
*
*Error I got *
09/07/31 13:20:54 INFO mapred.JobClient: Task Id :
attempt_200907311137_0008_m_000000_2, Status : FAILED
java.lang.RuntimeException: java.lang.RuntimeException:
java.lang.ClassNotFoundException: BulkImport$InnerMap
at
org.apache.hadoop.conf.Configuration.getClass(Configuration.java:752)
at org.apache.hadoop.mapred.JobConf.getMapperClass(JobConf.java:690)
at org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:34)
at
org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:58)
at
org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:83)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:338)
at org.apache.hadoop.mapred.Child.main(Child.java:158)
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException:
BulkImport$InnerMap
at
org.apache.hadoop.conf.Configuration.getClass(Configuration.java:720)
at
org.apache.hadoop.conf.Configuration.getClass(Configuration.java:744)
... 6 more
Caused by: java.lang.ClassNotFoundException: BulkImport$InnerMap
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:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at
org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:673)
at
org.apache.hadoop.conf.Configuration.getClass(Configuration.java:718)
... 7 more
The InnerMap is the map class, how come it does not find it? Did I miss sth?
Thank you guys, with your help we can proceed,
CJ