我们正在使用JanusGraph 0.2.0与Cassandra 3.11.1,并测试其对地理多样性的支持。目前我们有两个数据中心,每个数据中心都有一个节点,复制因子对于这两个数据中心都是1。
我们已经配置了Local_Quorum,但是为什么它在建立连接时仍然使用Quorum?
更新:nodetool状态输出。
janusgraph-cassandra.properties
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
当我们在数据中心的两个节点上运行Cassandra时,我们能够连接并创建JanusGraph keyspace。但是,当一个数据中心宕机时,如果我们尝试打开连接,我们会观察到以下异常:
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)
我们已经配置了Local_Quorum,但是为什么它在建立连接时仍然使用Quorum?
更新:nodetool状态输出。
Datacenter: dc1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
DN 10.249.55.108 283.54 KiB 256 100.0% 619242db-f0bd-4492-aeb6-2bb0ebfe4733 rack1
Datacenter: dc2
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 10.249.55.111 294.75 KiB 256 100.0% 6ebe897e-94e3-44e5-99dc-055beb633e74 rack1