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

时间:2018-02-02 16:16:40

标签: java cassandra datastax-java-driver

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

我们说我有以下信息:

  1. 我的Cassandra群集由多个数据中心组成(例如" dc1"和" dc2")。
  2. 我知道其中一个节点的IP地址,例如数据中心" dc1"。
  3. 使用datastax java库我尝试执行以下操作:

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

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

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

1 个答案:

答案 0 :(得分:6)

DC应该至少有一颗种子。

  

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

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