【问题标题】:Connecting to Cassandra 2.0 from .NET Driver从 .NET 驱动程序连接到 Cassandra 2.0
【发布时间】:2014-05-11 07:58:56
【问题描述】:

我是 Cassandra 的新手,最近在 Amazon EC2 上实施了一个 2 节点集群。我有 2 个数据节点和 1 个应用程序服务器(运行 .NET 4.0,通过 Cassandra 驱动程序连接到数据节点),都在同一个 Amazon 可用区中。

在对安全组进行大量调整后,我终于能够通过在每个数据节点上创建一个入站规则以允许来自应用程序服务器的所有 TCP 流量来使连接正常工作。我不认为这在安全方面特别理想,尽管我不认为这是一个巨大的风险,尤其是因为我使用的是私有 IP。

我的问题是,.NET Cassandra 驱动程序和集群之间的连接使用什么端口?根据文档,我认为这就是 9160 RPC 端口的全部意义所在,但是当我为此创建规则时,它似乎没有做任何事情。我还尝试了 7199 和 9042(仅基于我在互联网上发现的零星碎片)。

谢谢, 托德

【问题讨论】:

    标签: c# .net amazon-ec2 cassandra cassandra-2.0


    【解决方案1】:

    它应该是您的cassandra-env.sh 文件中配置的任何内容。根据文档:

    http://wiki.apache.org/cassandra/FAQ#ports

    如果您在文件 Cassandra/Cluster.cs 中查看 Cassandra (C#) 的 .NET 驱动程序,它会提到驱动程序的默认值是 9042。您可以在此处查看该文件:https://github.com/datastax/csharp-driver/blob/1.0/Cassandra/Cluster.cs。此外,这是显示默认端口的摘录:

    /// <summary>
    ///  The port to use to connect to the Cassandra host. If not set through this
    ///  method, the default port (9042) will be used instead.
    /// </summary>
    /// <param name="port"> the port to set. </param>
    ///
    /// <returns>this Builder</returns>
    public Builder WithPort(int port)
    {
        this._port = port;
        return this;
    }
    

    希望对你有帮助。

    【讨论】:

    • 这似乎做到了!我知道我过去曾尝试过 9042,但我认为当时我还有其他配置问题,所以这可能是一个糟糕的测试。感谢您的洞察力。
    猜你喜欢
    • 2017-08-07
    • 2016-12-22
    • 2013-12-23
    • 2019-02-25
    • 1970-01-01
    • 2015-08-16
    • 2017-06-23
    • 2023-03-21
    • 2012-08-05
    相关资源
    最近更新 更多