簡體   English   中英

如何將密鑰空間作為 cassandra 中的轉儲?

[英]how to take a keyspace as a dump in cassandra?

我需要從服務器獲取一個鍵空間作為轉儲並將該轉儲恢復到我的本地 cassandra,我知道在 mysql 中做,但如何在 nosql 中做? 我從站點了解到 nodetool、snapshot 和 csv 文件格式可以實現這一點,但我無法得到它?

你可以用“nodetool”來做到這一點。 有關良好的參考文檔,請查看此處: http : //www.datastax.com/docs/1.1/backup_restore

大致需要執行以下步驟:

  1. 使用以下nodetool snapshot <keyspace-name>對鍵空間進行“快照”: 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>/而不是在“snapshot”目錄中) .
  4. 重新啟動本地服務器,您應該在本地服務器中擁有來自服務器的數據。

哈。

要通過快照做到這一點..

用於拍攝快照的命令-

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

這將在 VAR 文件夾中創建一個 SNAPSHOT 目錄,該目錄包含快照

服務器的當前數據庫,您可以將其用作本地服務器的轉儲。

雖然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
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM