是否可以从Cassandra群集中的另一个数据中心发现节点列表?

让我们说我有以下信息:


我的Cassandra群集由多个数据中心组成(例如“ dc1”和“ dc2”)。
我知道数据中心“ dc1”中一个节点的IP地址。


使用datastax Java库,我尝试执行以下操作:


直接从system.peers表中读取对等方的列表-但它仅返回其中一些(以一致性级别ALL读取),所有这些都属于“ dc1”;
使用cluster.getMetada().getAllHosts()-但它仅在“ dc1”内返回完整的主机列表。


看起来,如果不知道“ dc2”中的至少一个节点,就无法获取有关其他数据中心的信息。我错了吗?

最佳答案

DC至少应有一个种子。


注意:在多个数据中心集群中,至少包含一个节点
来自种子列表中每个数据中心(复制组)。


https://docs.datastax.com/en/cassandra/3.0/cassandra/architecture/archGossipAbout.html

09-11 02:22