使用Cassandra CQL / JDBC驱动程序时设置群集名称

时间:2013-03-14 12:28:06

标签: cassandra cql

我正在使用我从google code获得的Cassandra CQL / JDBC驱动程序,但它似乎不允许我提供群集名称 - 有没有办法?

我正在使用群集名称来确保我不针对实时系统运行命令,它与我的开发系统具有不同的群集名称。

编辑:为了澄清,我有两个完全独立的Cassandra集群,一个是实时的,另一个是测试的。它们具有不同的群集名称,以确保我不会意外地运行针对实时群集上的测试群集的测试代码。因此,我需要使用的任何客户端都必须让我设置一个群集名称。赫克托尔这样做。

2 个答案:

答案 0 :(得分:3)

您必须镜像两个不同群集上的数据。您无法访问具有不同名称的同一群集。

要重命名您的群集(从默认的“测试群集”),您可以编辑location/of/cassandra/conf/cassandra.yaml中的cassandra配置文件。它的顶线,如果您需要更多详细信息,请查看数据共享configuration documentation和解释。

答案 1 :(得分:1)

没有内置保护来检查Cassandra客户端的群集名称。它的构建是为了确保来自不同集群的节点不会尝试连接在一起,而不是确保客户端连接到正确的集群。可以将此检查添加到客户端(因为群集名称暴露给客户端),但我不知道有任何客户端这样做。

我强烈建议您在不同环境中使用防火墙来避免这种错误。如果无法做到这一点,您应该选择不同的端口以避免混淆。使用cassandra.yaml中的'rpc_port'设置更改此内容。