【问题标题】:Cassandra Replication setupCassandra 复制设置
【发布时间】:2017-01-19 19:29:14
【问题描述】:

我正在使用 Cassandra 3.9 。我有一些疑问,比如我目前有 2 台物理机器,并希望以最佳方式存储数据:-

1) 在两台机器上以分布式顺序进行。
2)在一台机器上存储完整数据并将整个副本复制到另一台机器上的另一种方式。 (第一偏好)

现在,如果我创建 2 个 DC,每个 DC 有 3 个节点,即在我的设置中,1 台机器将有 3 个本地节点,同样还有第二台机器。那么如何让这两个独立的 DC1 & DC2 相互通信呢?

我也尝试使用 CCM 进行集群设置,但它因错误而停止 “CCM 警告下载 3.9.0 失败,因为在字符串格式化期间并非所有参数都转换了。”

当我收到错误时,我正在使用此查询:- ccm create --version 3.9.0 --nodes 3 --start test

【问题讨论】:

  • CCM 警告下载 3.9.0 失败 -- 你是否厌倦了其他版本,尝试一些旧版本,如 3.0 或版本 3 中的一些 RC。

标签: database cassandra database-replication ccm


【解决方案1】:

cassandra 如何分发数据检查this 答案。

2) The other way to store complete data on 1 machine and replicate the entire copy onto the other machine. (first preference)

您在 cassandra.yaml 文件中的配置决定了将数据放在哪里。数据复制取决于您的键空间定义 -

CREATE KEYSPACE ums_db WITH replication = {'class': 'NetworkTopologyStrategy', 'DC1': '2', 'DC2': '2'} ;

对于此架构定义,cassandra 将复制两个不同节点中的每一行。 Cassandra 将按照this 答案中的说明按顺时针方向选择节点。

现在要让它与两个数据中心一起工作,在你的情况下是两台不同的机器,你需要指定适当的告密者。 Reefer this 页面,这解释了一个属性文件 snitch 和 cassandra-topology.properties,它定义了数据中心配置。两个 DC 将充当一个 cassandra 服务器。每个节点都可以扮演协调者的角色,由服务器决定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-01
    • 2018-01-16
    • 2014-10-02
    • 2019-10-28
    • 2023-04-05
    • 2018-07-11
    • 2014-02-04
    相关资源
    最近更新 更多