Figured it out (needed to include the hbase classpath, to pick up that config):
[patrick@job-tracker ~]$ HADOOP_CLASSPATH=`hbase classpath` hadoop jar /usr/lib/hbase/hbase.jar verifyrep --starttime=1372911043653 --stoptime=1372997453773 1 table-foo Thanks for the help! - Patrick On Thu, Jul 11, 2013 at 8:46 AM, Patrick Schless <[email protected]>wrote: > Yes [1], I set that in hbase-site.xml when I turned on replication. This > box is solely my job-tracker, so maybe it doesn't pick up the > hbase-site.xml? Trying this job from the HMaster didn't work, because it > doesn't have the mapreduce stuff, it seems [2]. > > [1] > [patrick@job-tracker ~]$ grep -A3 replication > /etc/hbase/conf/hbase-site.xml > <name>hbase.replication</name> > <value>true</value> > </property> > </configuration> > > [2] > [patrick@hmaster ~]$ hadoop jar /usr/lib/hbase/hbase.jar verifyrep > Exception in thread "main" java.lang.NoClassDefFoundError: > org/apache/hadoop/mapreduce/Job > at java.lang.Class.getDeclaredMethods0(Native Method) > at java.lang.Class.privateGetDeclaredMethods(Class.java:2444) > at java.lang.Class.getMethod0(Class.java:2687) > at java.lang.Class.getMethod(Class.java:1620) > at > org.apache.hadoop.util.ProgramDriver$ProgramDescription.<init>(ProgramDriver.java:60) > at > org.apache.hadoop.util.ProgramDriver.addClass(ProgramDriver.java:103) > at org.apache.hadoop.hbase.mapreduce.Driver.main(Driver.java:36) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:616) > at org.apache.hadoop.util.RunJar.main(RunJar.java:208) > Caused by: java.lang.ClassNotFoundException: > org.apache.hadoop.mapreduce.Job > at java.net.URLClassLoader$1.run(URLClassLoader.java:217) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:205) > at java.lang.ClassLoader.loadClass(ClassLoader.java:321) > at java.lang.ClassLoader.loadClass(ClassLoader.java:266) > ... 12 more > > > > > > On Thu, Jul 11, 2013 at 1:18 AM, Bijieshan <[email protected]> wrote: > >> Have you checked the configuration of "hbase.replication" in local >> hbase-site.xml? "Replication needs to be enabled to verify it." indicate >> that configuration value is false. >> Below is the relevant code: >> if (!conf.getBoolean(HConstants.REPLICATION_ENABLE_KEY, false)) { >> throw new IOException("Replication needs to be enabled to verify >> it."); >> } >> >> Jieshan >> -----Original Message----- >> From: Patrick Schless [mailto:[email protected]] >> Sent: Thursday, July 11, 2013 12:29 PM >> To: user >> Subject: VerifyRep - "Replication needs to be enabled to verify it." >> >> On 0.92.1, I have (recently) enabled replication, and I'm trying to verify >> that it's working correctly. I am getting an error saying that replication >> needs to be enabled, but replication *is* enabled, so I assume I'm doing >> something wrong. Looking at the age of the last shipped op (on the master >> cluster), and the age of the last applied op (on the slave cluster), I see >> values, which make it look like data is flowing (and keeping up). Any idea >> how I can get this job to run, to confirm things at a larger scale? >> >> Thanks, >> Patrick >> >> patrick@job-tracker ~]$ hadoop jar /usr/lib/hbase/hbase.jar verifyrep >> --starttime=1372911043653 --stoptime=1372997453773 1 table-foo >> >> Exception in thread "main" java.lang.reflect.InvocationTargetException >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >> at >> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:616) >> at org.apache.hadoop.hbase.mapreduce.Driver.main(Driver.java:51) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >> at >> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:616) >> at org.apache.hadoop.util.RunJar.main(RunJar.java:208) >> Caused by: java.io.IOException: Replication needs to be enabled to verify >> it. >> at >> >> org.apache.hadoop.hbase.mapreduce.replication.VerifyReplication.createSubmittableJob(VerifyReplication.java:160) >> at >> >> org.apache.hadoop.hbase.mapreduce.replication.VerifyReplication.main(VerifyReplication.java:291) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >> at >> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:616) >> at >> >> org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:72) >> at >> org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:144) >> ... 10 more >> > >
