连接远程Cassandra(1.2.1)服务器

时间:2013-02-06 13:31:04

标签: windows cassandra

我在远程Windows服务器上运行Cassandra 1.2.1。我将yaml设置设置如下:

rpc_address:0.0.0.0 start_native_transport:true

我可以通过输入IP地址和端口号从笔记本电脑连接远程Cassandra服务器;

连接XXX.XX.XX.XX / 9160;

on cassandra-cli.bat

但我不能从我的.Net应用程序连接远程Cassandra服务器。我使用 casssandra-sharp ;

XmlConfigurator.Configure();
using (ICluster cluster = ClusterManager.GetCluster("main"))
          Console.WriteLine("succeded");
ClusterManager.Shutdown();

这是App.config;

  <configSections>
    <section name="CassandraSharp" type="CassandraSharp.SectionHandler, CassandraSharp" />
  </configSections>

  <CassandraSharp>
    <Cluster name="main">
      <Endpoints>
        <Server>XXX.XX.XX.XX</Server>
      </Endpoints>
    </Cluster>
  </CassandraSharp>

应用程序抛出“找不到任何有效端点”异常。当我在本地运行Cassandra并尝试连接时,此代码块完美无缺。

在远程服务器上,防火墙允许使用9160和7000端口。对这个问题有什么看法吗?

2 个答案:

答案 0 :(得分:4)

@rs_atl是对的,这是一个连接问题。

如果您正在使用客户端库并要执行CQL命令,则需要设置;

start_native_transport: true
你已经做过的。下面只有两行,你会看到;

native_transport_port: 9042

在yaml文件中。这意味着您需要在防火墙上允许端口号 9042

如果您还使用Azure等云服务,请不要忘记添加端点。

答案 1 :(得分:0)

如果您的代码在本地运行但在另一台机器上不起作用,唯一合乎逻辑的结论是必须存在连接问题。