我已经在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/