我们正在使用带有Cassandra 3.11.1的JanusGraph 0.2.0并测试其对地理多样性的支持。目前,我们有2个数据中心,每个数据中心有1个节点,数据中心的复制因子为1。
List<Integer> indexes = IntStream
.iterate(word.indexOf(c), index -> index >= 0, index -> word.indexOf(c, index + 1))
.boxed()
.collect(Collectors.toList());
System.out.printlnt(indexes);
janusgraph-cassandra.properties
当我们在数据中心的两个节点中运行Cassandra时,我们能够连接并创建JanusGraph键空间。但是,当一个数据中心出现故障时,如果我们尝试打开连接,我们会发现以下异常:
storage.backend=cql
storage.cql.read-consistency-level=LOCAL_QUORUM
storage.cql.write-consistency-level=LOCAL_QUORUM
storage.cql.local-datacenter=dc2
storage.cql.only-use-local-consistency-for-system-operations=true
storage.cql.replication-strategy-options=dc1,1,dc2,1
storage.cql.replication-strategy-class = NetworkTopologyStrategy
我们已经配置了Local_Quorum,但仍然为什么使用Quorum来建立连接。
更新:nodetool状态输出
com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /10.249.55.111:9042 (com.datastax.driver.core.exceptions.UnavailableException: Not enough replicas available for query at consistency QUORUM (2 required but only 1 alive)))
at com.datastax.driver.core.RequestHandler.reportNoMoreHosts(RequestHandler.java:211)
答案 0 :(得分:6)
这似乎是JanusGraph代码中的错误。我已打开an issue来跟踪此事。在此期间,将此行添加到janusgraph-cassandra.properties
是一种解决方法:
log.tx.key-consistent=true