首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >卡桑德拉cqlsh connecton和数据插入通过复制命令?

卡桑德拉cqlsh connecton和数据插入通过复制命令?
EN

Stack Overflow用户
提问于 2020-08-28 07:10:36
回答 1查看 42关注 0票数 1

我有一个单一的数据中心与5个节点卡桑德拉集群启动和运行。我用RF=3和简单的策略创建了一个关键空间。我需要澄清以下几点-

  1. 使用nodetool可以告诉我们的数据物理存储在哪个节点上。因此,我知道我的数据存储在节点上-2,3,4。但是我仍然可以看到每个节点上各自的sstable和*.db文件。那么,如果数据物理地存储在节点-2,3,4上,那么为什么它也显示在节点-0,1上呢?
  2. 通过cqlsh客户端连接后,一致性命令将显示一个作为默认一致性级别。因此,我现在的理解是,如果我将执行任何读或写通过复制命令将执行的一致性之一。因此,如果我一次关闭三个或四个节点,除了一个从2,3,4节点,它会对客户端连接(cassandra读或写查询)产生任何影响吗?

请让我知道这一点,以便更清楚地了解卡桑德拉的概念??

EN

回答 1

Stack Overflow用户

发布于 2020-08-28 08:28:15

  1. Cassandra根据特定分区键的哈希值(这个值通常称为令牌)和副本数量将数据分发到集群的所有节点,因此值为1的PK将位于节点上(3、4、5),节点上的值为2 (5、1、2)等等。nodetool getendpoints给出具有特定分区键的行的位置,而不是所有数据的位置。您可以在下面的博客帖子中阅读有关它的更多信息。
  2. CL ONE意味着我们只需要从数据的一个副本中确认读或写操作(由于RF=3,您有三个副本)。写入总是发送到所有副本,但我们确认操作,如果只有一个答案成功。对于您的具体问题--在您的情况下,您可以容忍负责特定分区键的两个节点的丢失。

我建议至少阅读第一部分的卡桑德拉:最终指南,第三版-这是免费可得从DataStax。或者阅读DataStax企业体系结构指南 --它也涵盖了卡桑德拉的架构。

P.S.我建议使用DSBulk实用程序,而不是使用copy命令--它在加载或卸载数据时(特别是对大量数据)的性能进行了很大的优化,而且更加灵活。

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

https://stackoverflow.com/questions/63629095

复制
相关文章

相似问题

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