【问题标题】:Set cluster name when using Cassandra CQL/JDBC driver使用 Cassandra CQL/JDBC 驱动程序时设置集群名称
【发布时间】:2013-03-02 19:17:59
【问题描述】:

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

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

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

【问题讨论】:

    标签: cassandra cql


    【解决方案1】:

    您必须将数据镜像到两个不同的集群上。您不能使用不同的名称访问同一个集群。

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

    【讨论】:

      【解决方案2】:

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

      我强烈建议您对不同的环境设置防火墙以避免此类错误。如果这不可能,您应该选择不同的端口以避免混淆。使用 cassandra.yaml 中的“rpc_port”设置更改此设置。

      【讨论】:

      • 隔离 Cassandra 的最常见方法似乎是使用防火墙。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-06
      • 2022-10-24
      • 2018-04-21
      • 1970-01-01
      • 1970-01-01
      • 2012-08-05
      • 2014-06-11
      相关资源
      最近更新 更多