我已经在3台单独的机器中设置了Cassandra ...说A,B,C,根据文档我确实像这样更改了每台机器的cassandra.yaml文件

Machine A: listen_address = A's IP
   rpc_address = A's IP
   seeds = A's IP

Machine B: listen_address = B's IP
   rpc_address = B's IP
   seeds = A's IP

Machine C: listen_address = C's IP
   rpc_address = C's IP
   seeds = A's IP


现在,如果B,C中的任何一个发生故障,我都无法从A获得记录,而预期的是,我在诸如节点,数据中心之类的术语上感到困惑……在上述情况下,我认为所有数据中心都不尽相同,但当使用nodetool获取振铃信息时;它在相同的数据中心(datacenter1)中显示它们
我需要知道的是正确的设置,以便它有效地利用Cassandra

我在每个节点上都创建了键空间

create keyspace test
  with placement_strategy = 'SimpleStrategy'
  and strategy_options = {replication_factor : 1}
  and durable_writes = true;


我没有使用任何一致性级别...

Datacenter: datacenter1
==========
Replicas: 1

Address     Rack        Status State   Load            Owns                Token
                                                                           849583800602241121
B's IP      rack1       Up     Normal  156.98 KB       95.39%              0
C's IP      rack1       Up     Normal  130.3 KB        4.61%               849583800602241121

最佳答案

replication_factor设置为1意味着在一个节点上每一行只有一个副本。您可能正在尝试请求驻留在故障节点上的数据,这说明了为什么看不到任何返回的内容。

对于您先前的问题,数据中心是单个节点的按地理位置分组的集合。单个或多个数据中心可以合并为一个集群。

关于java - 在cassandra中管理多个数据中心集群,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17120375/

10-10 17:39
查看更多