【问题标题】:Is there a way to view data in 2 replicas in Cassandra?有没有办法在 Cassandra 中查看 2 个副本中的数据?
【发布时间】:2020-02-21 13:21:17
【问题描述】:

我是 Cassandra 的新手。我在网络拓扑策略中的 Cassandra 中创建了一个密钥空间,在一个数据中心中有 2 个副本。是否有 cql 命令或其他方式来查看我在两个副本中的数据?

点赞SELECT * FROM tablename in replica1 / replica2

是否有另一种方法可以让我直观地看到两个副本中的数据?

提前致谢。

【问题讨论】:

    标签: cassandra cql cqlsh


    【解决方案1】:

    所以你的问题不是很清楚“查看 2 个副本中的数据”。如果你想验证你的数据,你可以运行一些命令来直观地看到东西。

    您要做的第一件事是登录您要调查的节点。进入感兴趣表的数据目录->DataDir/keyspace/table。在那里,您会看到一个或多个看起来像 *Data.db 的文件。这些是你的sstables。在某些情况下,内存中的数据会刷新到 sstables。如果您正在验证,您希望确保您的数据从内存刷新到磁盘(否则您可能找不到您要查找的内容)。为此,您发出“nodetool flush”命令(如果您只想刷新特定表,则可以使用键空间和表作为参数)。

    就像我说的,在那之后,内存中的所有内容都会被刷新到磁盘。因此,您将能够看到您的 sstables(同样是 *Data.db)文件。拥有这些 sstable 后,您可以在每个 sstable 上运行“sstabledump”命令以查看驻留在其中的数据,从而验证您的数据。

    如果您只有几行要验证并且有很多节点,您可以通过使用键空间、表和分区键运行“nodetool getendpoints”来找到这些行将驻留的节点。这将告诉您将拥有数据的每个节点。这样你就不会猜测行应该在哪个节点上。不幸的是,没有办法知道行应该存在于哪个 sstable 中(如果发生更新/删除等,它可能不止一个)。您必须遍历特定节点上的每个 sstable。

    希望这有助于回答您的问题?

    祝你好运。

    -吉姆

    【讨论】:

    • 我当时也在想同样的事情......倾倒 SSTable 真的是唯一的办法。
    • 嗨,吉姆。非常感谢您的回复。实际上,我正在测试 Cassandra 是否可以继续使用它。所以我把它安装在我的笔记本电脑上,想探索一下。通过说我们创建了一些副本并将其存储在许多节点上,这促使我对其进行了研究。通过说“查看 2 个副本中的数据”,我的意思是一样的。插入后,我想在副本上看到它。如果我手动关闭一个节点并想查看副本之间的差异并尝试使用 nodetool 修复选项。现在我来到了'ccm',它用于在笔记本电脑中测试集群。
    【解决方案2】:

    您可以针对特定分区。如果您确定host1 是一个副本(nodetool getendpoints 或来自查询跟踪),那么如果您使用 CL.ONE 进行查询并显式访问该主机,协调器将始终首先选择本地。所以

    Statement q = new SimpleStatement("SELECT * FROM tablename WHERE key = X");
    q.setHost("host1")
    

    host1 拥有 X

    对于SELECT * FROM tablename,它有点困难,因为您正在查看整个数据集,并且协调器将为环的每个部分发送多个查询。如果您使用 CL.ONE 进行一些查询,它仍然只会针对该范围的每个部分转到一个节点,因此如果您设置 q.enableTracing(),您可以看到每个范围的响应节点。您无法控制选择哪个协调员,因此可能需要很少的查询。

    如果您只想查看是否存在差异,您可以使用预览修复。 nodetool repair --preview --full.

    【讨论】:

    • 非常感谢克里斯。实际上,我想测试 Cassandra 中的复制功能,并希望通过关闭一个节点来直观地查看两个副本中数据的差异。然后我想测试 nodetool 修复功能。
    猜你喜欢
    • 1970-01-01
    • 2015-11-21
    • 1970-01-01
    • 2015-10-19
    • 2013-11-17
    • 2016-04-18
    • 2020-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多