2016-03-14 266 views
0

很抱歉,如果這是一個存在的問題,但任何現有的解決我的問題..卡桑德拉使用datastax卡桑德拉

我已經安裝卡桑德拉單聯接的讀操作錯誤。我現在沒有很大的應用程序,但我認爲很快就會出現這種情況,並且我將需要越來越多的節點。

好吧,我將數據從流保存到Cassandra,進展順利,但是suddently,當我試圖讀取數據,我開始收到此錯誤: 「在一致性ONE沒有足夠的副本可供查詢(需要1但只有0活着)」

我keyspace是使用複製因子= 1的簡單策略構建的。我保存由名爲「catchId」的字段分隔的數據,因此我的大多數查詢都是這樣的:「select * from data where catchId ='xxx'」。 catchId是分區鍵。

我正在使用cassandra-driver-core版本3.0.0-rc1。

問題是我現在沒有那麼多的數據了,我在想現在是否會更好地使用RDBMS,只有當我擁有更好的基礎架構時才能遷移到Cassandra。

謝謝:)

+0

什麼是您的基礎架構 – phact

+0

它只是一臺機器(即時測試本地):i5-2400 3.10Ghz,8GB RAM和500GB高清。 –

回答

0

看來,您的節點是無法當你試圖讓你讀的(一般出現這個錯誤不止一個節點)作出迴應。如果你沒有太多的數據,這很奇怪,所以這可能是一個糟糕的設計選擇。這可能源於幾件事情,所以你必須做一些調查。

  • 研究你的日誌!尤其是system.log
  • 您可以更改cassandra.yaml中的read_request_timeout_in_ms參數。雖然在生產中不是好主意,但它會告訴你,如果它只是暫時的問題(你的請求在一段時間後成功)還是更大的問題
  • 非常積極,你可以安裝opscenter,你會給更多有價值的信息

你在做什麼和寫多少個請求?它可以壓倒卡桑德拉(即使它是專門設計的)。我建議進行異步請求以避免問題。