发现 Opscenter 代理存在问题。Opscenter 报告代理未连接,并且在每个节点的 agent.log 中,它们都报告以下内容:
com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /127.0.0.1:9042 (com.datastax.driver.core. TransportException: [/127.0.0.1:9042] Cannot connect))
我不知道这是什么时候开始的,但这是最近发生的,并且以前运行良好。
我们正在运行 datastax-agent 版本 5.1.0 和 Cassandra 版本:2.1.3。
如果能提供任何关于去哪里观看的提示我将非常感激。
答案1
编辑: 我将原始答案保留在下面的引用中,但请不是尝试按照它。这里提供的解决方案是官方的,并且经过测试有效!
正如在文档:
注意:从 OpsCenter 5.1 版开始,address.yaml 中的 hosts 选项现在可确定代理连接到哪些节点。有关配置更改和迁移路径的更多信息,请参阅升级指南。
因此,只需更改您的address.yaml
以反映这些更改并重新启动代理即可。例如,在我们的案例中,我们从以下位置执行了以下更改:
stomp_interface: 10.0.10.10
local_interface: 10.0.10.20
更改为:
stomp_interface: 10.0.10.10
hosts: ["10.0.10.20"]
新hosts
属性是一个字符串数组,因此如果您需要多个接口,您可以根据需要对其进行定制。但以上内容对于标准设置来说应该足够了。
原始答案位于下方,请忽略它。
自从我们升级到 Opscenter 5.1.0 以来,我们遇到了同样的问题。到目前为止,我们发现的唯一解决方法是更改cassandra.yaml:
rpc_address:0.0.0.0
我知道这不是一种政治正确的方法,但是它可以在不破坏一切的情况下完成工作,并且可以让您的 OpsCenter 继续工作,直到出现更官方的方法。
附言:我真的不明白为什么有人会否决这个问题,这是一个严重的问题,它破坏了生产系统。