利用Java API 對HBase進行Scan查詢:
FilterList list = new FilterList(FilterList.Operator.MUST_PASS_ONE);
RowFilter rf = new RowFilter(
CompareOp.EQUAL ,
new SubstringComparator("81261.1.1")
);
list.addFilter(rf);
Scan s = new Scan();
s.setFilter(list);
ResultScanner rs = htable.getScanner(s);
對回傳結果進行列印,發現兩個問題
1)資料回傳速度很慢,大概20s以后才開始有資料回傳
2)當回傳一部分資料后,程式報錯:
java.lang.RuntimeException: org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions:
Tue Oct 11 09:45:16 CST 2016, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=60312: row '66834_6531' on table 'data_v1' at region=ispec_exp_data_v1,66834_6531,1471038265262.b980e46b96c39067949e3fa76c216b52., hostname=datanode1,16020,1472696086983, seqNum=38216730
at org.apache.hadoop.hbase.client.AbstractClientScanner$1.hasNext(AbstractClientScanner.java:97)
at hbasetest.ScanExpData_v1.main(ScanExpData_v1.java:51)
Caused by: org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions:
Tue Oct 11 09:45:16 CST 2016, null, java.net.SocketTimeoutException: callTimeout=60000, callDuration=60312: row '66834_6531' on table 'data_v1' at region=data_v1,66834_6531,1471038265262.b980e46b96c39067949e3fa76c216b52., hostname=datanode1,16020,1472696086983, seqNum=38216730
at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.throwEnrichedException(RpcRetryingCallerWithReadReplicas.java:271)
at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:207)
at org.apache.hadoop.hbase.client.ScannerCallableWithReplicas.call(ScannerCallableWithReplicas.java:60)
at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:210)
at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:326)
at org.apache.hadoop.hbase.client.ClientScanner.loadCache(ClientScanner.java:409)
at org.apache.hadoop.hbase.client.ClientScanner.next(ClientScanner.java:370)
at org.apache.hadoop.hbase.client.AbstractClientScanner$1.hasNext(AbstractClientScanner.java:94)
... 1 more
uj5u.com熱心網友回復:
補充,在datanode的log中發現報錯資訊:regionserver.RSRpcServices: Scanner 545 lease expired on region data_v1,66834_6531,1471038265262.b980e46b96c39067949e3fa76c216b52
uj5u.com熱心網友回復:
兄弟 怎么解決的 我總是報這個 但是有時候又能成功轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/194521.html
標籤:分布式計算/Hadoop
