我们正在使用具有REPLICATION = {'class':'SimpleStrategy','replication_factor':1}的3节点集群
但是,当我们插入数据时,所有三个节点中都存在同一行(当我在每个节点上分别运行它时,我会看到它)
当我运行nodetool status时(如下所示):
-- Address Load Tokens Owns (effective) Host ID Rack
UN 172.31.46.89 6.43 MiB 256 32.8% 2db6dc5c-9d05-4dc7-9bf5-ea9e3c406267 rack1
UN 172.31.47.150 13.17 MiB 256 32.1% eb10cc48-6117-427c-9151-48cb6761a5e6 rack1
DN 172.31.45.131 12.73 MiB 256 35.1% cc33fc04-a02f-41e2-a00b-3835a0d98cb5 rack1
任何人都可以帮助我了解为什么所有节点中都存在数据吗?
答案 0 :(得分:1)
Cassandra是无主的,当您对集群中的任何节点进行查询时,它将请求适当的副本来回答您的查询。数据不会存储在RF = 1的所有节点上。如果确实要验证它,请查看您的data/keyspace/table
目录并在Data文件上使用sstabledump。
答案 1 :(得分:0)
当RF = 1时,数据不会存储在所有节点上。相反,当您与任何节点连接时,它都充当协调器节点并从负责数据的节点获取数据并提供响应。
如果协调器最终成为负责数据令牌范围的节点之一,则协调器仅在本地存储数据(写操作)。