You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Patrick Schless <pa...@gmail.com> on 2013/07/11 06:29:18 UTC

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

Re: VerifyRep - "Replication needs to be enabled to verify it."

Posted by Patrick Schless <pa...@gmail.com>.
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
<pa...@gmail.com>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 <bi...@huawei.com> 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:patrick.schless@gmail.com]
>> 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
>>
>
>

Re: VerifyRep - "Replication needs to be enabled to verify it."

Posted by Patrick Schless <pa...@gmail.com>.
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 <bi...@huawei.com> 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:patrick.schless@gmail.com]
> 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
>

RE: VerifyRep - "Replication needs to be enabled to verify it."

Posted by Bijieshan <bi...@huawei.com>.
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:patrick.schless@gmail.com] 
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