【问题标题】:C# to Cassandra service with username and password带有用户名和密码的 C# 到 Cassandra 服务
【发布时间】:2017-01-31 03:04:21
【问题描述】:

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

编辑:当我在没有用户名和密码的情况下与服务通信时,我可以与服务通信(我总是可以通过命令提示符与执行通信)但是当我使用用户名和密码时,它不再起作用了。

【问题讨论】:

  • 在 Windows 上为“侦听端口”检查“资源监视器”或在 Linux 上为两个实例检查“netstat -tnlp”,并检查 9042 是否在 localhost 或 192.168.30.104 上公开
  • 如果我是正确的,如果你看到这个错误,你有 Cassandra 在 localhost:9042 上运行
  • @Sreekar 我在服务器上打开了 9042 端口。此外,如果它没有用户名或密码,我可以与该服务通信。对不起,没注意到你和下面是同一个人;)
  • NoHostAvailableException 有一个名为 InnerErrors 的属性,其中包含尝试的每个主机的错误,请检查。
  • @jorgebg 是的,我做到了,内部异常 = null

标签: c# service cassandra datastax


【解决方案1】:

在我看来,您的服务和单个可执行文件正在使用 不同 yaml 配置文件。检查您的环境变量和cassandra-env.sh 文件。也可以看看DataStax documentation

【讨论】:

  • 不,因为当我使用该服务(没有用户名和密码)时,我可以与它通信并在我的数据库中插入行。我可以使用单个可执行文件查看这些行。它们是一样的。
  • @Proliges xmas79 说的是对的。您在通过网络正确公开服务时遇到问题,这似乎正在发生,因为它使用了不同版本的 yaml 文件,该文件具有 listen_address 作为 localhost。数据可能看起来正确,因为服务和单个可执行文件的数据目录和提交日志相同
  • 好的,那么我在哪里可以找到该服务的秘密 yaml 文件?如果我删除用户名和密码,为什么我可以与服务通信?为什么我必须更改这个 .yaml 文件才能使服务正常工作(而不是另一个)?对我来说,将另一个 .yaml 文件设置为 localhost 是没有意义的,因为我不应该能够建立远程连接,对吧? @Sreekar
  • @Proliges 我有点困惑。所以你唯一的问题是用用户名和密码远程连接?在所有其他情况下,包括当您在本地使用用户名和密码时,它是否有效?
  • @Sreekar 正确。当服务没有用户名或密码时,我能够与服务通信。我可以在 cassandra 环境中插入数据,读取它,随心所欲地使用它。当我在命令提示符而不是服务中运行 Cassandra 时,我也可以看到这些数据。当我在命令提示符下运行 Cassandra 环境并拥有用户名和密码时,我也可以与它进行通信。但是当它是一项服务并且它具有(相同的)用户名和密码时。我无法沟通,我收到问题中所述的错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-27
  • 1970-01-01
  • 2019-09-23
  • 1970-01-01
  • 1970-01-01
  • 2011-02-22
  • 1970-01-01
相关资源
最近更新 更多