Take a snapshot using a shell script
You can take a snapshot using an operating system shell script, such as a Bash script, in HBase Shell noninteractive mode.
#!/bin/bash # Take a snapshot of the table passed as an argument # Usage: snapshot_script.sh table_name # Names the snapshot in the format snapshot-YYYYMMDD # Parse the arguments if [ -z $1 ]||[$1 == '-h' ]; then echo "Usage: $0 <table>" echo " $0 -h" exit 1 fi # Modify to suit your environment export HBASE_PATH=/home/user/hbase export DATE=`date +"%Y%m%d"` echo "snapshot '$1', 'snapshot-$DATE'" | $HBASE_PATH/bin/hbase shell -n status=$? if [$status -ne 0]; then echo "Snapshot may have failed: $status" fi exit $status
HBase Shell returns an exit code of 0 on successA non-zero exit code indicates the possibility of failure, not a definite failure. Your script should check to see if the snapshot was created before taking the snapshot again, in the event of a reported failure.