数据未在cassandra的集群中分布

vm0i2vca  于 2021-06-15  发布在  Cassandra
关注(0)|答案(2)|浏览(423)

我们使用的是一个3节点集群,其replication={'class':'simplestrategy','replication\u factor':1}
但是当我们插入数据时,同一行出现在所有三个节点中(当我在每个节点上单独运行它时,我会看到它)
当我运行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

有人能帮我理解为什么所有节点都有数据吗???

cuxqih21

cuxqih211#

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

enyaitl3

enyaitl32#

当rf=1时,数据不会存储在所有节点上。相反,当您与任何节点连接时,它充当协调节点,从负责数据的节点获取数据并提供响应。
如果协调器最终是负责数据令牌范围的节点之一,则它仅在本地(在写入时)存储数据。

相关问题