In a Fusion high-availability cluster on a Linux platform, ensure the live files on each server are copied to static local system files on each server and then backup these static files to an archival storage system like a Virtual Tape Device.
In this example, local system files on each Fusion server are backed up to the fusion user's home folder.
cd /home/fusion/backup
Configuration
The files in ZOOKEEPER_HOME/conf determine how Zookeeper behaves, for example: initLimit, tickTime and other properties regulate how the local zookeeper syncs with its fellow ensemble servers and how it communicates with Solr nodes. Since these files store Fusion and Solr cluster information, don't expect to use these in another Zookeeper cluster without special care or modification.
Manual Backup
Copy local server Zookeeper config files and export config files from all servers in cluster to single JSON file in /home/backup.
Copy Zookeeper config directorycp -rf $FUSION_HOME/conf/zookeeper ~/backup/zookeeper-config
Export all config files from all servers in cluster to single JSON file$FUSION_HOME/scripts/zkImportExport.sh -zkhost 10.11.12.13:9983,10.11.12.14:9983,10.11.12.15:9983 -cmd export -path / -filename ~/backup/zookeeper_dump.json
Note: the alternative using Solr "zkcli.sh" client script from a terminal command line to save Zookeeper config files does not appear to work using the command: sh $FUSION_HOME/apps/solr-dist/server/scripts/cloud-scripts/zkcli.sh -zhost 10.11.12.13:9983,10.11.12.14:9983,10.11.12.15:9983 -cmd downconfig -confdir ~/backup -confname myconf
Automatic backup
Schedule manual backup command to run at 1:01am every day as fusion user (see Summary section below)
Edit crontabcrontab -e
# Zookeeper
1 1 * * * cp -rf /opt/fusion/3.0.1/conf/zookeeper /home/fusion/backup/zookeeper-config
# Config files
1 1 * * * /opt/fusion/3.0.1/scripts/zkImportExport.sh -zkhost 10.11.12.13:9983,10.11.12.14:9983,10.11.12.15:9983 -cmd export -path / -filename /home/fusion/backup/zookeeper_dump.json
Backup Fusion Snapshots
Zookeeper takes snapshots of data files of all its interactions automatically. The zoo.cfg file specifies where Zookeeper saves these snapshots.
To look at the Zookeeper config file, go to …nano $FUSION_HOME/conf/zoo.cfg
… which contains
# Snapshot directory relative to the Fusion home directory
dataDir=data/zookeeper
… which points to the zookeeper directory$FUSION_HOME/data/zookeeper
Manual Backup
Copy the entire contents of this folder to the home directory on the server. Do this on all servers in the cluster.cp -rf $FUSION_HOME/data/zookeeper ~/backup/zookeeper-data
Tip: during a restore, be sure to turn Solr off and on surrounding the process. There are ephemeral nodes attached to Solr sessions that will be in a confused state when Solr is restarted otherwise.
Automatic Backup
Schedule manual backup command to run at 1:01am every day as fusion user (see Summary section below)
Edit crontabcrontab -e
# Snapshots
1 1 * * * cp -rf /opt/fusion/3.0.1/data/zookeeper /home/fusion/backup/zookeeper-data
Tip: crontab does not accept path shortcuts like $PATH or ~. Everything needs to be spelled out in full paths