我正在使用Azure云,并希望在虚拟机上将C#项目与Cassandra连接。我已经使用提供的模板安装了Cassandra VM,但我无法让它工作。我可以通过SSH连接到VM,但不能连接到C#应用程序。我正在使用csharp-driver(v3.1.0)与Cassandra进行交互。要连接,我这样做:
var cluster = Cassandra.Cluster.Builder()
.AddContactPoint("My_Azure_Cassandra_VM_public_IP")
.WithPort(9042)
.Build();
cluster.Connect();
最后一行抛出异常:
Cassandra.NoHostAvailableException:'没有主机尝试进行查询 可用(尝试:My_Azure_Cassandra_VM_public_IP:9042)'
所以我通过SSH连接到VM并尝试找到解决方案。
安装了Cassandra:
> sudo cassandra -R -v
3.11.0
但它没有运行:
> cqlsh
Connection error: ('Unable to connect to any servers', {'127.0.0.1': AuthenticationFailed('Remote end requires authentication.',)})
所以我尝试运行它,但我得到以下内容:
> service cassandra start
cassandra: unrecognized service
那么,下一步是什么?我没有想法(以及有用的Google搜索结果),我已经仔细检查了 cassandra.yaml 中的设置,一切似乎都没问题。 Azures的网络安全组似乎也很好:
优先| NAME |来源|目的地|服务| ACTION
1010 |卡珊德拉|任何|任何| Cassandra(TCP / 9042)|允许
1020 | default-allow-ssh |任何|任何| SSH(TCP / 22)|允许