代码之家  ›  专栏  ›  技术社区  ›  Andremoniy

从其他数据中心发现节点

  •  2
  • Andremoniy  · 技术社区  · 7 年前

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

    假设我有以下信息:

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

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

    1. 直接从 system.peers 表-但它只返回其中的几个(它是使用一致性级别读取的 ALL ),均属于“dc1”;

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

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

    1 回复  |  直到 7 年前
        1
  •  6
  •   Nicolas Henneaux    7 年前

    DC应至少有一个种子。

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

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