拿hbase做接口查询做数据存储,有一些冗余数据想删除,
表定义如下,数据量在500万
create 't1', {NAME => 'cust', VERSIONS => '1',MIN_VERSIONS => '1',TTL => '1',KEEP_DELETED_CELLS=>false},{SPLITS => ['1','2','3','4']},{METADATA => {'SPLIT_POLICY' => 'org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy'}}
通过hbase api
先scan 表中小于时间戳满足要求的rowkey
之后根据rowkey 进行删除
然后flush
最后执行majorcompact 操作
执行完之后 在查询表中数据
刚开始经常报如下错误,之后大概恢复几十分钟到1个小时的时间后,表中数据查询逐渐恢复正常可查询状态
java.net.SocketTimeoutException: callTimeout=50000, callDuration=50376:
org.apache.hadoop.hbase.NotServingRegionException: kf:t1,1,1597835415818.3548051025f980d622c0d3b464047737.
is not online on pbjfhfhadoop201,16020,1593945911307
org.apache.hadoop.hbase.regionserver.HRegionServer.getRegionByEncodedName(HRegionServer.java:3245)
org.apache.hadoop.hbase.regionserver.HRegionServer.getRegion(HRegionServer.java:3222)
另外各位有知道hbase的报错日志在哪里可以看到吗?
是不是看报错日志会更容易排查到问题所在。