从.NET驱动程序连接到Cassandra 2.0

时间:2014-03-31 19:42:48

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

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

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

我的问题是,用于.NET Cassandra驱动程序和集群之间连接的端口是什么?基于文档,我认为这就是9160 RPC端口的全部内容,但是当我为此创建规则时它似乎没有做任何事情。我也尝试过7199和9042(基于我在互联网上散布的小小的比特)。

谢谢, 托德

1 个答案:

答案 0 :(得分:0)

应该是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;
}

希望它有所帮助。