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

And*_*niy 2 java cassandra datastax-java-driver

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

我们说我有以下信息:

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

使用datastaxjava库我尝试执行以下操作:

  1. 直接从system.peers表中读取对等列表 - 但它只返回其中的一些(它以一致性级别读取ALL),都属于"dc1";

  2. 使用cluster.getMetada().getAllHosts()- 但它只返回"dc1"内的完整主机列表.

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

Nic*_*aux 6

DC应至少有一颗种子.

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

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