我有我的系统为单节点集群上的卡桑德拉1.1.2安装有三个keyspaces:hotel
,student
和employee
。如果可能,我想转储hotel
的密钥空间模式及其列数据,并在其他Cassandra集群上恢复转储。任何人都可以详细告诉我,我该怎么做?KEYSPACE模式导入和导出在卡桑德拉
6
A
回答
6
您可以使用sstable2json
和json2sstable
卡桑德拉工具
退房Datastax documentation在同和this太
Usage: sstable2json [-f outfile] <sstable> [-k key [-k key [...]]]
Usage: json2sstable -K keyspace -c column_family <json> <sstable>
您随时可以在文件
cassandra-cli -h HOST -p PORT -f fileName
执行卡桑德拉 - CLI命令您可以将所有创建语句加载到文件中并执行此命令
要获得CLI脚本来创建keyspaces和列家庭使用以下命令卡桑德拉-CLI界面
show schema
但柜面你想创建两个节点的集群。你不需要做所有上述事情。只需以不同的令牌范围和相同的群集名称启动另一个节点即可。 Cassandra内部将设法传输数据和模式信息
2
我不建议使用stable2json
和json2sstable
加载大量数据。它使用jackson API来创建数据集并将其转换为json格式。它意味着加载内存中的所有数据来创建一个独特的json表示。
对于少量的数据可以,现在想象加载一个包含超过4000万行数据,大约25GB数据的大型数据集,这些工具根本无法正常工作。我已经向datastax提问,但没有澄清。
如果数据集较大,只需将cassandra数据文件从群集复制到另一个群集即可解决问题。在我的情况下,我试图从Cassandra 1.0.6集群迁移到1.2.1,这些版本之间的数据文件不兼容。
解决方案是什么? 我只是写我自己的出口/进口工具来解决这个问题。我希望很快发布此工具的链接。
相关问题
- 1. 在卡桑德拉
- 2. 在卡桑德拉
- 3. 在卡桑德拉
- 4. 卡桑德拉模式的意见
- 5. 需要卡桑德拉模式
- 6. 创建卡桑德拉模式
- 7. 卡桑德拉和supercolumns
- 8. 卡桑德拉和JSON
- 9. 卡桑德拉KEYSPACE从窗户单节点实例
- 10. 卡桑德拉和插入浮动列
- 11. 卡桑德拉datamodelling
- 12. InvalidRequestException在卡桑德拉
- 13. UnsupportedOperationExeception在卡桑德拉表
- 14. 卡桑德拉在输入像
- 15. 卡桑德拉大于“>”问题卡桑德拉
- 16. 在where子句导致OperationTimedOut误差在卡桑德拉
- 17. 卡桑德拉数据模型
- 18. 卡桑德拉:数据建模
- 19. 卡桑德拉架构模型组织
- 20. 卡桑德拉日期范围建模
- 21. 卡桑德拉:建模定时数据
- 22. 与卡桑德拉轮毂模型
- 23. 春1.5.x的引导与Spring数据卡桑德拉1.5.x的是卡桑德拉不兼容2.1
- 24. 卡桑德拉缓存模式与thiny和宽行
- 25. 卡桑德拉 - 分布式数据和多表(数据建模)
- 26. 卡桑德拉插入非常缓慢
- 27. 插入卡桑德拉蟒列表
- 28. 插入卡桑德拉查询错误
- 29. 卡桑德拉CQL:无法插入
- 30. 卡桑德拉猪插入例外
感谢泰米尔非常感谢你我一直面临这个问题从3天这是一个很好的解决方案 我有一件事要问geting密钥空间后恢复它在其他群集可以复制和粘贴的密钥空间数据进入数据目录 – 2012-07-27 09:32:43
不,你不能这样做。在现有的一个节点集群上执行'nodetool drain' [即使您想要所有数据,甚至在内存中]并继续使用json加载程序。别无他法。 nodetool drain会刷新所有的CF,但是当前的集群将无法访问,直到此操作完成。 – Tamil 2012-07-27 10:35:37
谢谢,但我做了我上面提到的,它工作正常,它会创建任何问题,如果我不会使用节点排水等 – 2012-07-27 19:39:14