我们有 Cassandra/Elassandra 的三节点集群,我需要为此设置备份。我使用“nodetool 快照”命令进行备份,但由于我们使用的是 elasticserach,所以我需要单独备份索引或从“nodetool 快照”备份就足够了。
如果索引需要单独备份,那么您能否建议我如何进行备份/恢复,因为没有适当的文档来进行 elassendra 备份/恢复
谢谢
我们有 Cassandra/Elassandra 的三节点集群,我需要为此设置备份。我使用“nodetool 快照”命令进行备份,但由于我们使用的是 elasticserach,所以我需要单独备份索引或从“nodetool 快照”备份就足够了。
如果索引需要单独备份,那么您能否建议我如何进行备份/恢复,因为没有适当的文档来进行 elassendra 备份/恢复
谢谢
由于 Elassandra = Elasticsearch + Cassandra,因此您需要在从 Elasticsearch 备份的同时从 Cassandra 进行备份。
根据设计,Elassandra 会同步更新 Cassandra 写入路径上的 Elasticsearch 索引。因此,Elassandra 可以通过在每个节点上同时拍摄 Cassandra SSTables 和 Elasticsearch Lucene 文件的快照来备份数据,如下所示:
对于 Cassandra SSTables,请使用:
nodetool snapshot --tag <snapshot_name> <keyspace_name>
对于索引文件,请通过以下方式复制它们:
cp -al $CASSANDRA_DATA/elasticsearch.data/<cluster_name>/nodes/0/indices/<index_name>/0/index/(_*|segment*) $CASSANDRA_DATA/elasticsearch.data/snapshots/<index_name>/<snapshot_name>/
但是有一个关于 Elassandra to Backup and Restore的文档。