我们在尝试删除JanusGraph图时在CentOS中始终遵循以下错误。我们使用Janusgraph版本 0.2.0 和3节点 Cassandra集群作为后端。但是,同样的命令在Ubuntu中有效。
NAME =“CentOS Linux”VERSION =“7(核心)”ID =“centos”ID_LIKE =“rhel fedora“VERSION_ID =”7“
gremlin> JanusGraphFactory.drop(g);
13:55:59 WARN com.datastax.driver.core.RequestHandler - Not retrying statement because it is not idempotent (this message will be logged only once).
Note that this version of the driver changes the default retry behavior for non-idempotent statements: they won't be automatically retried anymore.
The driver marks statements non-idempotent by default, so you should explicitly call setIdempotent(true) if your statements are safe to retry.
com.datastax.driver.core.exceptions.OperationTimedOutException: [/xxx.xxx.xxx.x:9042] Timed out waiting for server response
at com.datastax.driver.core.exceptions.OperationTimedOutException.copy(OperationTimedOutException.java:44)
at com.datastax.driver.core.exceptions.OperationTimedOutException.copy(OperationTimedOutException.java:26)
at com.datastax.driver.core.DriverThrowables.propagateCause(DriverThrowables.java:37)
at com.datastax.driver.core.DefaultResultSetFuture.getUninterruptibly(DefaultResultSetFuture.java:245)
at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:68)
at org.janusgraph.diskstorage.cql.CQLStoreManager.clearStorage(CQLStoreManager.java:334)
at org.janusgraph.diskstorage.Backend.clearStorage(Backend.java:589)
at org.janusgraph.core.JanusGraphFactory.drop(JanusGraphFactory.java:216)
at org.janusgraph.core.JanusGraphFactory$drop$0.call(Unknown Source)
非常感谢任何帮助。
由于
答案 0 :(得分:2)
执行Cassandra操作时(批量执行 - 插入和 使用spark工作更新两个表上的操作我得到了“All 主机尝试查询失败 - com。 datastax。驱动程序。核心。 OperationTimedOutException“错误。
最常见的原因是Spark能够比Cassandra处理它们更快地发出写请求。这可能导致GC问题并建立提示。如果您的应用程序出现这种情况,请尝试使用以下选项降低并发写入次数和当前批次大小。
spark.cassandra.output.batch.size.rows spark.cassandra.output.concurrent.writes
或在大于或等于1.2.0 set
的Spark Cassandra Connector版本中spark.cassandra.output.throughput_mb_per_sec
这将允许您控制每秒每个Spark核心写入C *的数据量。
你不应该使用BATCHES
这并非总是如此,连接器使用本地令牌感知批处理来实现更快的读取和写入,但这在自定义应用程序中是正确的。在许多情况下,异步查询更好或更好。
setReadTimeout
这是一个DataStax java驱动程序方法。连接器为您完成此操作,无需更改。