我正在尝试将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专家的帮助。谢谢!
答案 0 :(得分:0)