数据未分布在Cassandra中的整个集群中

时间:2018-10-12 20:19:44

标签: cassandra distributed-computing distributed distributed-system

我们正在使用具有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

任何人都可以帮助我了解为什么所有节点中都存在数据吗?

2 个答案:

答案 0 :(得分:1)

Cassandra是无主的,当您对集群中的任何节点进行查询时,它将请求适当的副本来回答您的查询。数据不会存储在RF = 1的所有节点上。如果确实要验证它,请查看您的data/keyspace/table目录并在Data文件上使用sstabledump。

答案 1 :(得分:0)

当RF = 1时,数据不会存储在所有节点上。相反,当您与任何节点连接时,它都充当协调器节点并从负责数据的节点获取数据并提供响应。

如果协调器最终成为负责数据令牌范围的节点之一,则协调器仅在本地存储数据(写操作)。