【发布时间】:2017-11-12 04:56:16
【问题描述】:
我是 Cassandra 的新手,使用最新的 Cassandra 3.10。我有 3 个节点要链接以参与 Cassandra。集群名称Test Cluster与三个节点相同。相同的数据中心 dc1 ,机架为 rack1 和告密为 GossipingPropertyFileSnitch 使用。它配置
节点 A:
-seeds : "A,B,C 地址"
listen_address & rpc_address 与 A 节点 ip 地址相同
节点 B:
-seeds : "A,B,C 地址"
listen_address & rpc_address 与 B 节点 ip 地址相同
节点 C:
-seeds : "A,B,C 地址"
listen_address & rpc_address 与 C 节点 ip 地址相同
我在这里列出的可能性
i) 假设如果 A 节点发生故障,则从节点 B 和 C 获取数据。
ii) 如果任何一个或两个节点发生故障,则从另一个节点获取数据。如何配置这些节点。
我使用了具有复制因子 3 的简单策略。 如果节点故障从另一个节点获取节点数据检索如此,种子地址还是弄错了?简要说明该怎么做。
【问题讨论】:
-
您可以使用 DataStax OpsCenter 为您配置和安装 Cassandra,或阅读 DataStax 文档
-
是的,我读过,但对种子地址和复制因子有点困惑
-
复制因子 = 你需要多少份数据。在小型集群中,您不需要 3 倍...种子地址只需是小型集群中的单个(外部)IP 地址。所有节点必须具有相同的种子(至少我是这样配置的)
-
好的。我尝试复制三个节点的数据。如果示例 java 线程在单个节点 A 上运行,则复制 B 和 C 节点。所以所有节点都有数据。种子指向所有其他节点对吗?我的配置是对的。
-
把种子想象成“主人”或“大脑”。每个配置都指向相同的服务器列表。如果您可以启动服务并运行
nodetool status,并查看服务器,那么它可以工作
标签: cassandra