|
|
Was trying to play around with Co-processors by trying to launch the following co-processor of type RegionObserver in a standalone HBase instance, deployed in distributed mode (meaning ZK, Region Server and Master running as three separate JVM instances on the same host)
<property> <name>hbase.cluster.distributed</name> <value>true</value> </property>
Following is the simple co-processor code
package com.myemployer.group.project.hbase.monitoring.coprocessor;
<Import stmts>
public class HbaseMetricsDumper extends BaseRegionObserver {
public static final Log log = LogFactory.getLog(HbaseMetricsDumper.class);
public void start(CoprocessorEnvironment e) throws IOException {
log.debug(" Starting the co-processor HbaseMetricsDumper ");
}
public void preGet(ObserverContext<RegionCoprocessorEnvironment> e,
Get get, List<KeyValue> results) {
log.debug(" About to invoke 'get' ");
}
}
Here's the corresponding entry on the Hbase region server hbase-site.xml.
<property> <name>hbase.coprocessor.region.classes</name> <value>com.myemployer.group.project.hbase.monitoring.coprocessor</value> </property>
Once I start hbase ,I don't see the expected log stmt " Starting the co-processor HbaseMetricsDumper " logged in the start() method. Neither do I see the log stmt logged through the preGet() callback.
Could anyone see the problem here..
|