刚接触hbase要用到协处理器编程,用的是动态装载到某一个表上,但是coprocessor加上后该表就failed了,不能scan。
- 以下是我装载coprocessor的命令: alter 'tsTile',METHOD=>'table__att','coprocessor'=>'hdfs://cu17:8020/usr/hbase/coprocessor/Observer2.jar|com.hbase.coprocessor.RegionObserverDemo||' Updating all regions with the new schema... 1/1 regions updated. Done.
- 装载后表的情况: Table tsTile is ENABLED
tsTile, {TABLEATTRIBUTES => {coprocessor$1 => 'hdfs://cu17:8020/usr/hbase/coprocessor/Observer2.jar|com.hbase.coprocessor.RegionObserverDemo||'}
COLUMN FAMILIES DESCRIPTION - 但是一scan ‘表名’就出现这样的错误(其他的表正常):

- 重启hbase也没用,但是我将coprocessor卸载后,重启hbase该表又可用了。我估计是jar包的代码不对,要么是加coprocessor的参数没设对。
- 这是我的coprocessor代码,只实现preScannerOpen函数


- 弱弱的问各位大神,这可能是什么问题?
我遇到了一样的问题,查了日志
2019-03-20 14:58:06,289 WARN [B.defaultRpcServer.handler=6,queue=0,port=16000]
master.HMaster: File does not exist: /home/had_user/local/hbase-1.2.7/lib/tests/TestCoprocessor.jar
发现是说文件找不到,放在本地不行,传到hdfs上也可能路径写错了。你看一下日志,是不是这个问题