我需要从服务器获取一个密钥空间作为转储并将该转储恢复到我当地的cassandra, 我知道在mysql中做但在nosql中怎么办? 我从网站上了解到nodetool,snapshot和csv文件格式可以实现这一点,但我无法得到它?
答案 0 :(得分:12)
您可以使用“nodetool”执行此操作。有关参考文档的详细信息,请查看此处:http://www.datastax.com/docs/1.1/backup_restore
您需要执行以下步骤:
nodetool snapshot <keyspace-name>
。这在服务器上运行,您要在其中生成“快照”。它会这样做,为每个密钥空间表存储一个“快照”。<cassandra-dir>/data/<keyspace-name>/<table-name>/snapshots/
(查找“最新”拍摄的快照 - 当您拍摄快照时,它会告诉您拍摄快照的“名称”/“ID”)。 <cassandra-dir>/data/<keyspace>/<table-name>/
),然后放置“服务器” “每个”keyapce表“中的快照(直接在<cassandra-dir>/data/<keyspace>/<table-name>/
中,而不是在”snapshot“目录中)。 HTH。
答案 1 :(得分:0)
通过快照来做到这一点..
拍摄快照的命令 -
<-path to cassandra's bin folder> nodetool -h <-server host name/ IP> -p <-server port> snapshot
这将在VAR文件夹中创建一个SNAPSHOT目录,该目录包含快照
服务器的当前数据库,您可以将其用作本地服务器的转储。
答案 2 :(得分:0)
虽然nodetool
是首选方法,但是,如果您不能直接访问基础文件结构,我建议使用类似以下内容的方法:cassandradump
$ python cassandradump.py --keyspace system --export-file dump.cql
Exporting schema for keyspace system
Exporting schema for column family system.peers
Exporting data for column family system.peers
Exporting schema for column family system.range_xfers
Exporting data for column family system.range_xfers
Exporting schema for column family system.schema_columns
Exporting data for column family system.schema_columns
...