Cassandra

datastax-agent 無法連接錯誤

  • April 6, 2015

發現 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。

任何關於在哪裡看的提示將不勝感激。

編輯: 我將保留下面引用的原始答案塊,但請不要嘗試遵循它。此處提供的解決方案是官方的並且經過測試可以正常工作!

文件中所述:

注意:從 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 設置:

rpc_address:0.0.0.0

我知道這不是一種政治正確的方式,但它可以在不破壞一切的情況下完成工作,並且您可以讓 OpsCenter 工作,直到出現更正式的方式。

PS:我真的不明白為什麼有人會否決這個問題,這是一個嚴重的問題,它會破壞生產系統。

引用自:https://serverfault.com/questions/675097