问题 如何将键空间作为cassandra中的转储?


我需要从服务器获取一个密钥空间作为转储并将该转储恢复到我当地的cassandra, 我知道在mysql中做但在nosql中怎么办? 我从网站上了解到nodetool,snapshot和csv文件格式可以实现这一点,但我无法得到它?


8587
2017-11-27 05:24


起源



答案:


您可以使用“nodetool”执行此操作。有关参考文档的详细信息,请查看此处: http://www.datastax.com/docs/1.1/backup_restore

大概你需要执行以下步骤:

  1. 使用以下方法获取键空间的“快照”: nodetool snapshot <keyspace-name>。这在服务器上运行,您要在其中生成“快照”。它会这样做,为键空间的每个表存储一个“快照”。
  2. 将“快照”复制到本地服务器。为每个键空间表执行此操作: <cassandra-dir>/data/<keyspace-name>/<table-name>/snapshots/ (查找“最新”拍摄的快照 - 拍摄快照时,它会告诉您拍摄快照的“名称”/“ID”)。
  3. 在本地服务器中,在放置“服务器”快照之前,请执行以下操作:停止cassandra,删除该“密钥空间”的内容(对于每个键空间表: <cassandra-dir>/data/<keyspace>/<table-name>/)然后将“服务器”快照放在每个相应的“keysapce表”中(直接在 <cassandra-dir>/data/<keyspace>/<table-name>/ 而不是在“快照”目录中)。
  4. 重新启动本地服务器,您应该从本地服务器的服务器获取数据。

HTH。


12
2017-11-27 10:39



实际上,您必须执行相同的操作来复制系统密钥空间的快照 - Andremoniy


答案:


您可以使用“nodetool”执行此操作。有关参考文档的详细信息,请查看此处: http://www.datastax.com/docs/1.1/backup_restore

大概你需要执行以下步骤:

  1. 使用以下方法获取键空间的“快照”: nodetool snapshot <keyspace-name>。这在服务器上运行,您要在其中生成“快照”。它会这样做,为键空间的每个表存储一个“快照”。
  2. 将“快照”复制到本地服务器。为每个键空间表执行此操作: <cassandra-dir>/data/<keyspace-name>/<table-name>/snapshots/ (查找“最新”拍摄的快照 - 拍摄快照时,它会告诉您拍摄快照的“名称”/“ID”)。
  3. 在本地服务器中,在放置“服务器”快照之前,请执行以下操作:停止cassandra,删除该“密钥空间”的内容(对于每个键空间表: <cassandra-dir>/data/<keyspace>/<table-name>/)然后将“服务器”快照放在每个相应的“keysapce表”中(直接在 <cassandra-dir>/data/<keyspace>/<table-name>/ 而不是在“快照”目录中)。
  4. 重新启动本地服务器,您应该从本地服务器的服务器获取数据。

HTH。


12
2017-11-27 10:39



实际上,您必须执行相同的操作来复制系统密钥空间的快照 - Andremoniy


要通过快照执行此操作..

获取快照的命令 -

<-path to cassandra's bin folder> nodetool -h <-server host name/ IP> -p <-server port> snapshot

这将在VAR文件夹中创建一个SNAPSHOT目录,该目录包含快照

服务器的当前数据库,您可以将其用作本地服务器的转储。


0
2017-11-27 05:46