Cassandra查询特定节点

时间:2014-10-17 09:58:35

标签: cassandra cql3

我正在使用带有4个节点的cassandra 1.2.15群集,并且在简单网络拓扑中具有复制为2的密钥空间。我正在使用Murmur3Partitioner。我使用了yaml文件中提供的默认配置。第一个节点是种子节点,其他3个节点将第一个节点指向种子节点。

第一个节点yaml配置是

initial_token: left empty
num_tokens: 256
auto_bootstrap: false

其他3个节点yaml配置

initial_token: left empty
num_tokens: 256
auto_bootstrap: true

我有三个问题,我的主要问题是Question1,

问题1:

  • 我需要查询群集上的特定节点。 (即)在四节点集群中,我需要进行查询,以便仅为节点2选择列族中的所有行。这可能吗?如果是,如何继续?

问题2:

  • 对于上述方法,我的yaml配置是否正确?

问题3:

  • 如果我在群集中添加两个节点,此配置将来是否会出现问题?

1 个答案:

答案 0 :(得分:3)

  

Q1我需要查询群集上的特定节点。 (即)在四节点集群中,我需要进行查询,以便仅为节点2选择列族中的所有行。这可能吗?如果是,如何进行?

不,不可能。您可以使用LOCAL_QUORUMEACH_QUORUM consistency levels查询特定数据中心。或者,您可以连接到特定节点并查询特定于每个节点的system KS(通过在cqlsh或驱动程序中指定地址)。有时候这可能有用,但它并不是你所追求的。

  

Q2对于上述方法,我的yaml配置是否正确?   在1.2中我认为为你的初始节点填充你自己的令牌而不是将它留给C *可能是一个更好的主意。   对于auto_bootstrap,false是新群集节点的正确选择:

此设置已从默认配置中删除。它使新的(非种子)
节点自动将正确的数据迁移到自己。初始化时 没有数据的新集群,添加auto_bootstrap:false。

  

Q3如果我在群集中添加两个节点,此配置将来是否会出现问题?

我建议您放弃简单的网络拓扑,因为它会使扩展到多个数据中心的过程变得复杂。要记住的另一个细节是为新节点启用自动引导程序,它应该与v节点完美配合。