Hi everyone,
Following is mine test environment:
node 1:namenode, secondarynamenode, jobtracker, hbase master
node 2:datanode, tasktracker
In node 1, I run following COMMANDS in pig shell, but I found map task failed 
in tasktracker node with error "HBase is able to connect to ZooKeeper but the 
connection closes immediately.". This mean tasktracker did not get current 
hbase configuration. But I can find the correct hbase configuration in 
jobtracker node. Seems tasktracker node did not get configuration from 
jobtracker node, but get configuration from hadoop classpath in tasktracker 
node.
I think tasktracker node should get hbase configuration from jobtracker node, 
but not from local hadoop classpath. Am I correct?

In tasktracker side, after I add hbase-site.xml to hadoop classpath, the test 
case passed.
My question is: how tasktracker node get hbase configuration from tasktracker 
side? From jobtracker side(included in *.jar file transferred by jobtracker 
node) or local hadoop classpath?

COMMANDS:
REGISTER /home/pig/Rules.jar;
REGISTER '/home/pig/zookeeper.jar';
REGISTER '/home/pig/guava-r06.jar';
REGISTER '/home/pig/hbase-0.90.5.jar';

test = LOAD 'hbase://table' USING 
org.apache.pig.backend.hadoop.hbase.HBaseStorage( 'd:sWords','-loadKey true') 
AS (ID: bytearray  , Words:chararray );
result = FOREACH test GENERATE ID, com.nice.rules.RunRules(Words);
--result = FOREACH AA GENERATE com.nice.rules.RunRules(Words), ID;
--dump result;

store result into 'table' using 
org.apache.pig.backend.hadoop.hbase.HBaseStorage('d:drools_cat');
--store result into 'AA_10_categs' using 
org.apache.pig.backend.hadoop.hbase.HBaseStorage('d:cat');

Reply via email to