1

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

rpc_address:0.0.0.0 start_native_transport:真

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

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

在 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 端口。关于这个问题的任何想法?

4

2 回答 2

4

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

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

start_native_transport: true

你已经做了。只需以下两行,您就会看到;

native_transport_port: 9042

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

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

于 2013-02-06T16:30:30.263 回答
0

如果您的代码在本地工作,但在另一台机器上不能工作,唯一合乎逻辑的结论是一定存在连接问题。

于 2013-02-06T15:08:44.533 回答