hbase的table.getScanner(scan)卡住不动的问题解决

1. 问题描述:

最近将 jdk1.6,tomcat6的老项目,升级成jdk1.8,tomcat9,由于用到了 hadoop和 hbase等,所以相应的jar包也一一更新替换。但是项目代码中的

scan.setStartRow(Bytes.toBytes("101244-1538396364000"));  //双引号里面是hbase中表的rowkey
scan.setStopRow(Bytes.toBytes("101244-1538396664000"));
ss = table.getScanner(scan);

到table.getScanner(scan); 语句,也就是从hbase获取数据,卡住不动,也不报错。

2. 解决问题:

确定hbase等配置是对的,就是因为获取不到数据,而卡住不动。然后在hbase集群中执行 hbase shell命令,启动hbase命令端口,对相应的rowkey进行查询,发现差不到数据,也就是执行命令:get 'table11','101244-1538396364000' ,发现返回的数据为空(命令语句里面的table11是我的hbase中的表的名称)。接着在 hbase shell命令窗口,执行 scan 'table11' ,返回很多数据,选择其中任意两行数据的rowkey,放到java项目的代码中,也就是放入scan.setStartRow("xxxxx") 中,再测,发现返回数据了,而且不卡了。

你可能感兴趣的:(HBase)