我有一个快速生成测量的过程,我正在将它们存储在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在多节点集群上编写一致性级别