Hi I am trying to run a Standalone map reduce job but I am getting ClassNotFoundException. I am able to connect to shell and create tables, I am also able to scan table from stand alone program Not sure exactly where I am missing classpath setting Will appreciate any advice.
export HADOOP_CLASSPATH=/opt/hbase/bin:/opt/hbase/conf:/opt/hbase/hbase-0.94.0.jar:/opt/hbase/hbase-0.94.0-tests.jar /opt/hadoop/bin/hadoop -jar hbase-example-1.0.jar client.mappertesthu...@gmail.com Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/util/Bytes at client.MapperTest.<clinit>(MapperTest.java:29) Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.util.Bytes at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 1 more My Program is like following package client; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.KeyValue; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.io.ImmutableBytesWritable; import org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil; import org.apache.hadoop.hbase.mapreduce.TableMapper; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.io.NullWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat; import util.HBaseHelper; public class MapperTest { public static String TABLE = "30000001_registration"; public static final String COOKIE_ID_QUAL_LABEL = "ci"; public static final String REGISTRATION_ID_QUAL_LABEL = "r"; public static final byte[] COOKIE_ID_QUAL = Bytes.toBytes(COOKIE_ID_QUAL_LABEL); public static final byte[] REGISTRATION_ID_QUAL = Bytes.toBytes(REGISTRATION_ID_QUAL_LABEL); public static final String NAME = "MapperTest"; public static void main(String[] args) throws Exception { try{ Configuration conf = HBaseHelper.getProdQa(); Job job = new Job(conf, "Analyze data in " + TABLE); job.setJarByClass(MapperTest.class); Scan scan = new Scan(); scan.setCaching(5); scan.setCacheBlocks(false); TableMapReduceUtil.initTableMapperJob(TABLE.getBytes(), scan, MyMapper.class,Text.class, NullWritable.class, job); //job.setOutputKeyClass(Text.class); //job.setOutputValueClass(NullWritable.class); job.setNumReduceTasks(0); FileOutputFormat.setOutputPath(job, new Path("/tmp/nick")); job.setOutputFormatClass(TextOutputFormat.class); System.exit(job.waitForCompletion(true) ? 0 : 1); }catch(Exception e){ System.out.println("There is something wrong"); } } static class MyMapper extends TableMapper<Text, NullWritable>{ @Override protected void setup(Context context) throws IOException, InterruptedException { System.out.println("Mapper called"); } @Override protected void map(ImmutableBytesWritable key, Result columns, Context context) throws IOException, InterruptedException { Text text = new Text(); NullWritable nullVal = NullWritable.get(); try { for (KeyValue kv : columns.list()) { if(Bytes.toString(kv.getQualifier()).equalsIgnoreCase(REGISTRATION_ID_QUAL_LABEL)){ System.out.println(Bytes.toString(kv.getValue())); text.set(kv.getValue()); context.write(text, nullVal); } } } catch (Exception e) { System.out.println("There is something wrong"); e.printStackTrace(); } } } } -- View this message in context: http://apache-hbase.679495.n3.nabble.com/Error-Running-MAP-REDUCE-Job-tp4049278.html Sent from the HBase Developer mailing list archive at Nabble.com.