Cassandra在远程计算机上作为服务运行,但在同一网络中运行。我还创建了一个与Cassandra环境通信的.net程序。
当我没有使用以下连接字符串作为服务运行时,我能够与Cassandra进行通信:
private void Connect()
{
cluster = Cluster.Builder().WithCredentials(username, password).AddContactPoint("192.168.30.104").Build();
session = cluster.Connect("core_meter");
}
但是当我尝试连接到Cassandra作为服务运行时,我收到以下错误:
Cassandra.dll中出现未处理的“Cassandra.NoHostAvailableException”类型异常
其他信息:没有尝试查询的主机可用(已尝试:192.168.30.104:9042)
我不确定在使用用户名和密码接近服务之前是否必须更改.yaml文件中的任何内容。 这是yaml文件:https://www.dropbox.com/s/wbrexlarkjrvlrm/cassandra.yaml?dl=0
编辑:当我与服务进行通信而没有用户名和密码时,我可以与服务进行通信(我总是可以通过命令提示符与执行进行通信)但是当我使用用户名和密码时它不再起作用。
答案 0 :(得分:2)
在我看来,您的服务和单个可执行文件正在使用不同的 yaml配置文件。检查环境变量和cassandra-env.sh
文件。另请查看DataStax documentation。