卡桑德拉异常“无法找到任何有效的终点”

时间:2017-09-18 15:52:01

标签: c# cassandra cql cqlsh cassandra-sharp

我正在尝试将Cassandra群集与cassandra-sharp .Net客户端驱动程序连接,但我得到一个异常“找不到任何有效的端点”。当我在cassandra-sharp github( https://github.com/pchalamet/cassandra-sharp )上执行示例客户端代码时,在打开与群集的连接后,我在任何操作上都会收到错误,例如 Execute < / em>命令:

using (ICluster cluster = ClusterManager.GetCluster("Cassandra"))
{   
    ICqlCommand cmd = cluster.CreatePocoCommand();
    Task t = cmd.Execute("Select * from system_schema.keyspaces").AsFuture();
...}

当我开始调试此行时,我会看到树的所有端点 ICluster - &gt; SingleConnectionPerEndpointStrategy - &gt; _endpointStrategy - &gt; NearestEndpointStrategy - &gt; bannedEndpoints (带有我的IP地址列表),0个端点是健康的。

此外,当我尝试使用 cqlplus.exe 实用程序(来自cassandra-sharp驱动程序二进制文件)连接到我的任何主机时,我得到相同的错误。使用 / dbglog 标志,它会显示如下消息:

  

创建与192.168.1.3的连接

     

192.168.1.3的就绪连接

     

开始为流127@192.168.1.3写

框架      

为流127@192.168.1.3

完成写帧      

构建连接失败System.AggregateException:发生了一个或多个错误。 ---&GT; System.OperationCanceledException:操作已取消。

     

---内部异常堆栈跟踪结束---

     

at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)

     

在CassandraSharp.Transport.LongRunningConnection.ReadifyConnection()in ... \ LongRunningConnection.cs:line 444

     

...   为端点192.168.1.3创建传输时出错:发生一个或多个错误。

     

... - 标记192.168.1.3进行恢复

     

命令执行因错误而失败:   找不到任何有效的端点

我使用最新版本的cassandra-sharp驱动程序3.7.0和Cassandra版本3.11.0。我的 App.config 文件似乎没问题。并且代码是理想的,因此可能是集群的错误配置。网络很简单,只需一个交换机,所有内容都被ping通,所有Cassandra端口都在客户端PC上的Windows防火墙中打开。我可以从配置文件 cassandra.yaml 中添加任何所需的附加信息。我使用 PropertyFileSnitch 。在 cqlsh 控制台中,一切正常, nodetool status 是Up&amp; Normal。

配置我的集群或.Net驱动程序是否有问题,以及如何解决它?需要Cassandra专家的帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

自从Cassandra 2以来,Сassandra-sharp驱动程序尚未升级,此时此刻不适用于3+。 此问题也发布在此处:https://github.com/pchalamet/cassandra-sharp/issues/92