从另一个数据中心发现节点

Discover nodes from another datacenter

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

假设我有以下信息:

  1. 我的 Cassandra 集群由多个数据中心组成(比如 "dc1" 和 "dc2")。
  2. 我知道其中一个节点的 IP 地址,例如来自数据中心 "dc1"。

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

  1. 直接从 system.peers table 中读取同行列表 - 但它 returns 只是其中的几个(它是以一致性级别读取的 ALL), 都属于"dc1";

  2. 使用 cluster.getMetada().getAllHosts() - 但它 returns 我只有 "dc1".

  3. 内的完整主机列表

如果不知道来自 "dc2" 的至少一个节点,似乎无法获得有关其他数据中心的信息。我错了吗?

DC应该至少有一个种子。

Attention: In multiple data-center clusters, include at least one node from each datacenter (replication group) in the seed list.

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