分享

hbase自定义coprocessort运行报错

wdx_827 发表于 2017-4-24 15:15:54 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 6 5258
参照hbase-example 中的RowCountEndpoint,自己定义了一个endpoint,打包发布到hbase/lib目录下,并修改了hbase-site.xml,hbase重新启动。客户端调用时报错,No registered coprocessor service found for name OssRowCountService in region oss_data_00000220_2,\x00\x00\x00\x00\x00\x00\x00\x02,1492667295000.f4afbd22f7fd394c9ca845b5dff6ea6f.有没有碰到过类似的问题,我在网上找了半天也没有找到解决方案。

已有(6)人评论

跳转到指定楼层
wdx_827 发表于 2017-4-24 15:28:08
proto文件内容如下:
option java_package = "com.bjsasc.oss.coprocessor";
option java_outer_classname = "OssRowCounterProtos";
option java_generic_services = true;
option java_generate_equals_and_hash = true;
option optimize_for = SPEED;

message OssRowCountRequest {
}

message OssRowCountResponse {
  required int64 count = 1 [default = 0];
}

service OssRowCountService {
  rpc getRowCount(OssRowCountRequest)
    returns (OssRowCountResponse);
  rpc getIncludeDelRowCount(OssRowCountRequest)
    returns (OssRowCountResponse);
  rpc getKeyValueCount(OssRowCountRequest)
    returns (OssRowCountResponse);
}
回复

使用道具 举报

qcbb001 发表于 2017-4-24 17:02:34
格式没有看出什么问题。
这里出现错误的地方无非是
1.开发
2.部署
是否发布到每个节点
配置文件是否都修改。
下面一篇文章,楼主可以对比看看,哪里有什么不一样的地方
HBase-1.0.1.1 编写Coprocessor


回复

使用道具 举报

wdx_827 发表于 2017-4-25 16:20:08
1.通过eclipse的export导出的jar包,就是选择要导出的两个类,一个是自定义的rowcount类,一个是通过protobuf生成的类,分别部署到各个节点,2.hbase-site.xml修改后,分布分发都各个节点上,最后重新启动hbase。还是不行,是不是我打jar包的方式不对啊。郁闷中...
回复

使用道具 举报

wdx_827 发表于 2017-4-25 16:21:28
1.通过eclipse的export导出的jar包,就是选择要导出的两个类,一个是自定义的rowcount类,一个是通过protobuf生成的类,分别部署到各个节点,2.hbase-site.xml修改后,分布分发都各个节点上,最后重新启动hbase。还是不行,是不是我打jar包的方式不对啊。郁闷中...
回复

使用道具 举报

nextuser 发表于 2017-4-25 20:54:51
wdx_827 发表于 2017-4-25 16:21
1.通过eclipse的export导出的jar包,就是选择要导出的两个类,一个是自定义的rowcount类,一个是通过protob ...

建议楼主先找一个别人能运行的例子,然后在改造成自己的
回复

使用道具 举报

wdx_827 发表于 2017-4-26 18:40:48
感谢你的建议
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条