How to Backup Elasticsearch in HySDS

Confidence Level TBD  This article has not been reviewed for accuracy, timeliness, or completeness. Check that this information is valid before acting on it.

Confidence Level TBD  This article has not been reviewed for accuracy, timeliness, or completeness. Check that this information is valid before acting on it.


Introduction

In case of catastrophic failure, you would be more likely to backup GRQ and Metrics Elasticsearch indices as your products and Metrics are long-term data stores. It can be problematic to backup Mozart ES because Mozart is supposed to be a snapshot of the processing state of the system. In a catastrophic failure, the snapshot that Mozart provides will be completely out-of-sync with reality and restoring it could cause redundant processing and incomplete knowledge of system state.

This answer is to backup GRQ on a HySDS hosted Elasticsearch service with an AWS backend

Step 1: Snapshot Repository to Register Repository

curl --location --request PUT 'http://localhost:9200/_snapshot/s3_backup' \ --header 'Content-Type: application/json' \ --header 'Content-Type: text/plain' \ --data '{ "type": "s3", "settings": { "bucket": "<YOUR_DATASET_BUCKET>", "region": "us-west-2", "base_path": "es_snapshot" } }'

Step 2: A Snapshot

$ curl --location --request PUT 'http://localhost:9200/_snapshot/s3_backup/%3Csnapshot-%7Bnow%2Fd%7D%3E'

Things to Know

If you are using a tutorial and other options, you should know:

  1. General recommendation: do not use wait_for_completion=true as that could timeout your client when the indices grow large.

  2. Also, its better to use timestamps in the name of the snapshot.

Note: You may want to be selective about what indices you are restoring:

For example, if you wanted to omit the following:

user_rules user_runs_history versions product_counter product_accountability hysds_ios orbits orbits_status *_triaged_job grq_q16511*

You would do this:

-X POST "localhost:9200/_snapshot/my_backup/snapshot_1/_restore?pretty" -H 'Content-Type: application/json' -d' { "indices": "-user_rules,-user_runs_history,-versions,-product_counter,-product_accountability,-hysds_ios,-orbits,-orbits_status,-*_triaged_job,-grq_q16511*" } '

 

Step 3: Close All Indices

Before you restore an Elasticsearch backup, you need to close all indices. See this link.

POST /*/_close

 


Related Articles:

Have Questions? Ask a HySDS Developer:

Anyone can join our public Slack channel to learn more about HySDS. JPL employees can join #HySDS-Community

JPLers can also ask HySDS questions at Stack Overflow Enterprise

Search HySDS Wiki

Page Information:

Was this page useful?

Yes No

Contribution History:

Subject Matter Expert:

@Sujen Shah

Find an Error?

Is this document outdated or inaccurate? Please contact the assigned Page Maintainer:

@Sujen Shah

Note: JPL employees can also get answers to HySDS questions at Stack Overflow Enterprise: