storm和hbase整合巨坑

来源:6-10 -Storm集群部署之Storm集群部署及启动

慕函数7570418

2019-10-31

我是用hbase集成storm,在spout里面读取hbase的数据,之前用的是
for (Result result : orderRs) {
for (Cell cell : result.rawCells()) {
orderRowkeys = new String(CellUtil.cloneRow(cell));
}
来获取行键进而得到数据。但是在ScannerResult orderRs = orderInfoTable.getScanner(scan);这个地方和 for (Result result : orderRs) {这两个地方在获取到几条数据之后 一直报java.io.InterruptedIOException 就这样一个异常
没有cause by 两个地方轮流报。然后我以为是循环的问题 就用迭代这种方法来获取数据
while(it.hasNext()){
Result result = it.next();
List cells = result.listCells();
for(int i =0;i<cells.size();i++){

可是 在 ScannerResult orderRs = orderInfoTable.getScanner(scan);和
while(it.hasNext)还是轮流报这个错。 有时候在spout里面这两个地方不报了 在后面的bolt里面我也有这样得处理的地方接着报 导致运行不下去。。。。可是 同样的代码 在main方法下面确实可以一直讲数据拿完 苦苦找不到原因

图片描述
这个是不是这两个for循环导致的啊
如果是的话 那又如何才能获取hbase中数据呢

图片描述
图片描述

还有这样

写回答

2回答

Michael_PK

2019-10-31

这报错就是调用RPC通信时的问题

0
1
慕函数7570418
非常感谢!
2020-03-26
共1条回复

Michael_PK

2019-10-31

这个问题需要你自己定位,只能给你思路:你的代码与HBase通信是否有问题

0
2
Michael_PK
回复
慕函数7570418
去storm的源码的testcase或者example里面找
2019-10-31
共2条回复

Java大数据实战,巧用Storm快速切入实时流处理领域

深入Storm内部机制,logstash+kafka,快速切入大数据实时流处理

518 学习 · 143 问题

查看课程