我是Cassandra的新手,最近在Amazon EC2上实现了一个双节点集群。我有2个数据节点和1个应用程序服务器(运行.NET 4.0,通过Cassandra驱动程序连接到数据节点),所有这些都在同一个亚马逊可用区中。
经过对安全组的大量调整后,我终于能够通过在每个数据节点上创建入站规则来实现连接,以允许来自应用程序服务器的所有TCP流量。我不认为这在安全方面是特别理想的,即使我认为这不是一个巨大的风险,特别是因为我使用私有IP。
我的问题是,用于.NET Cassandra驱动程序和集群之间连接的端口是什么?基于文档,我认为这就是9160 RPC端口的全部内容,但是当我为此创建规则时它似乎没有做任何事情。我也尝试过7199和9042(基于我在互联网上散布的小小的比特)。
谢谢, 托德
答案 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;
}
希望它有所帮助。