清理Titan base会导致超时异常(后端=Hbase)

清理Titan base会导致超时异常(后端=Hbase),hbase,titan,Hbase,Titan,我试图清理我的titan数据库并导致异常。 我猜我的数据库很大,它会超时,但是,我如何在titan中配置它呢。我使用Hbase作为存储后端。 这是我返回异常的代码; 泰坦版本:0.4.4 g.shutdown(); TitanCleanup.clear(g); Exception in thread "main" com.thinkaurelius.titan.core.TitanException: Unexpected exception during backend operation

我试图清理我的titan数据库并导致异常。 我猜我的数据库很大,它会超时,但是,我如何在titan中配置它呢。我使用Hbase作为存储后端。 这是我返回异常的代码; 泰坦版本:0.4.4

g.shutdown();
TitanCleanup.clear(g);

Exception in thread "main" com.thinkaurelius.titan.core.TitanException: Unexpected exception during backend operation
    at com.thinkaurelius.titan.diskstorage.util.BackendOperation.execute(BackendOperation.java:67)
    at com.thinkaurelius.titan.core.util.TitanCleanup.clear(TitanCleanup.java:32)
    at TitanMain.main(TitanMain.java:39)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
Caused by: java.lang.RuntimeException: org.apache.hadoop.hbase.client.ScannerTimeoutException: 106728ms passed since the last invocation, timeout is currently set to 60000
    at org.apache.hadoop.hbase.client.AbstractClientScanner$1.hasNext(AbstractClientScanner.java:44)
    at com.thinkaurelius.titan.diskstorage.hbase.HBaseStoreManager.clearStorage(HBaseStoreManager.java:358)
    at com.thinkaurelius.titan.diskstorage.Backend.clearStorage(Backend.java:465)
    at com.thinkaurelius.titan.core.util.TitanCleanup$1.call(TitanCleanup.java:35)
    at com.thinkaurelius.titan.core.util.TitanCleanup$1.call(TitanCleanup.java:32)
    at com.thinkaurelius.titan.diskstorage.util.BackendOperation.execute(BackendOperation.java:62)
    ... 7 more
Caused by: org.apache.hadoop.hbase.client.ScannerTimeoutException: 106728ms passed since the last invocation, timeout is currently set to 60000
    at org.apache.hadoop.hbase.client.ClientScanner.next(ClientScanner.java:283)
    at org.apache.hadoop.hbase.client.AbstractClientScanner$1.hasNext(AbstractClientScanner.java:41)
    ... 12 more
Caused by: org.apache.hadoop.hbase.UnknownScannerException: org.apache.hadoop.hbase.UnknownScannerException: Name: -3465920678372616028
    at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:2625)
    at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:323)
    at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1434)

    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
    at org.apache.hadoop.hbase.RemoteExceptionHandler.decodeRemoteException(RemoteExceptionHandler.java:96)
    at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:149)
    at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:42)
    at org.apache.hadoop.hbase.client.ServerCallable.withRetries(ServerCallable.java:163)
    at org.apache.hadoop.hbase.client.ClientScanner.next(ClientScanner.java:274)
    ... 13 more

原因:org.apache.hadoop.hbase.client.ScannerTimeoutException:106728ms自上次调用以来,超时当前设置为60000
@HBaseStoreManager.java:358意味着从hbase中删除一行需要约107秒。对于单个
HTable.delete
调用来说,这是一段荒谬的长时间。您的集群或客户端有什么问题吗?您可以在这里看到有问题的代码:

我已经重新启动,现在它可以执行清除操作。
很奇怪,但它现在正在工作。

您使用的是什么版本的Titan?我使用的是0.4.4版本。谢谢,将注释移到下面的答案…不应该是因为这是一个开发群集,但我有索引,这可能是原因吗?