我有一個快速生成測量的過程,我正在將它們存儲在Cassandra中。該進程在數據中心的服務器上運行,並且在同一個數據中心中有一個Cassandra節點以及另一個節點。如果生成測量結果的服務器失去連接性,我希望將測量結果記錄在本地,然後在連接恢復時讓數據能夠正確處理。是否有可能運行某種本地只寫Cassandra節點(使用最小的硬盤空間),它連接到其他節點,還是必須通過某種消息總線?本地只寫Cassandra節點
1
A
回答
1
你想要的是「只寫」節點和中心節點。卡桑德拉沒有直接的支持。 以下是您的選項
在每個寫入節點和主服務器上都有像Apache Kafka(我個人最喜歡的)這樣的消息總線。將數據寫入每個節點上的kafka,然後使用kafka-mirror-maker將每個節點的kafka鏡像到主服務器。在主服務器上,編寫一個小應用程序,將從卡夫卡收到的所有數據寫入cassandra。如果連接斷開,節點的kafka將仍然保存數據,當連接恢復時,鏡像製造商將繼續停止。
或
對於您有,創建一個單獨的一套所有keyspaces的每個節點,分配一個數據中心到每個節點和一個到你的中央服務器,設置每個節點將複製其keyspaces複製設置到中央服務器(即到中央數據中心),而不是到其他節點。例如,您有2個邏輯密鑰空間(kA,kB),2個節點(每個節點上分別爲dc1,dc2數據中心名稱)和主服務器(數據中心名稱:dc0)。 您需要創建kA_dc1 kB_dc1,kA_dc2 kB_dc2密鑰空間並設置以下複製設置。
- kA_dc1,kB_dc1:複製DC1和DC0
- kA_dc2,kB_dc2:複製DC2和DC0
之後,你需要修改你的程序查詢所有keyspaces(因爲密鑰空間包含相同的模式,應該很容易)
相關問題
- 1. 如何讓工作人員只查詢本地cassandra節點?
- 2. Cassandra:如何從Java中的本地節點查詢本地表?
- 3. Cassandra節點在重寫時失敗
- 4. 節點本地寫性能的Gridfs
- 5. cassandra節點限制
- 6. 在本地節點上製作cassandra存儲數據
- 7. 使用datastax java驅動程序連接到本地cassandra節點?
- 8. 如何訪問Cassandra節點的本地數據
- 9. Cassandra節點不啓動
- 10. Cassandra 3節點配置
- 11. Cassandra查詢特定節點
- 12. Cassandra節點隨機下降
- 13. cassandra節點不啓動
- 14. 2節點的Cassandra集羣
- 15. Cassandra節點離開很慢
- 16. Cassandra節點硬件需求
- 17. Cassandra節點批量啓動
- 18. Cassandra:退役種子節點
- 19. cassandra opscenter幻像節點
- 20. Cassandra集羣與節點
- 21. Cassandra多節點平衡
- 22. Cassandra - 無法刪除節點
- 23. Cassandra集羣單節點
- 24. 寫混合節點(標籤+文本)只更換特定的節點
- 25. Firebase安全性:只讀父節點,但可寫子節點
- 26. 使用節點本地化
- 27. 本地安裝節點Grunt
- 28. NodeJS和節點mongodb本地
- 29. Cassandra Java驅動程序只寫入本地數據中心的最佳設置
- 30. Cassandra在多節點集羣上編寫一致性級別