首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确保数据在Cassandra中复制n次

如何确保数据在Cassandra中复制n次
EN

Stack Overflow用户
提问于 2018-06-28 20:54:54
回答 1查看 55关注 0票数 1

假设RF = 3,在5个节点的单个数据中心中,我如何才能看到我的数据确切地位于任何keyspace.tablename的哪个节点中,以及如何证明数据在3个节点上被精确复制。

我尝试了各种nodetool命令,但没有一个命令能给出确切的结果或我想要看到的结果。

EN

回答 1

Stack Overflow用户

发布于 2018-07-09 21:14:10

您可以从客户端(例如cqlsh)使用具有各种一致性级别(CL)的插入和查询来证明这一点。我会解释的:

使用table

  • INSERT创建关键空间

  • 使用RF=3创建table

  • INSERT数据(这意味着所有3个副本都必须确认写入已完成所有节点都在运行查询(SELECT) )使用CL=ALL查询数据(所有3个副本必须发送响应,才能将查询视为

C* on 1个节点关闭(DN状态在nodetool status中))使用d18对数据进行查询(d17)(所有3个副本都必须发送响应,才能认为查询成功)。

a.如果查询成功,则所有3个副本仍在运行,您需要停止另一个C*节点。

b.如果查询失败,则将CL设置为CL=QUORUM (3个副本中只有2个必须发送响应才能认为查询成功),然后再次执行查询。

您可以使用CL=ONE甚至CL=ANY来继续这个序列。

您可以阅读有关cqlsh和如何修改CL here的更多信息

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51083489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档