多数据中心中的JanusGraph“NoHostAvailableException”

时间:2018-02-03 03:06:29

标签: cassandra cassandra-3.0 janusgraph

我们正在使用带有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)

1 个答案:

答案 0 :(得分:6)

这似乎是JanusGraph代码中的错误。我已打开an issue来跟踪此事。在此期间,将此行添加到janusgraph-cassandra.properties是一种解决方法:

log.tx.key-consistent=true