-
Notifications
You must be signed in to change notification settings - Fork 8.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Snapshot Restore README with quick-testing steps. (#70494)
- Loading branch information
Showing
1 changed file
with
78 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
# Snapshot Restore | ||
|
||
## Quick steps for testing | ||
|
||
### File system | ||
|
||
1. Add the file system path you want to use to elasticsearch.yml or as part of starting up ES. Note that this path should point to a directory that exists. | ||
|
||
``` | ||
path: | ||
repo: /tmp/es-backups | ||
``` | ||
|
||
or | ||
|
||
``` | ||
yarn es snapshot --license=trial -E path.repo=/tmp/es-backups | ||
``` | ||
|
||
2. Use Console or UI to add a repository. Use the file system path above as the `location` setting: | ||
|
||
``` | ||
PUT /_snapshot/my_backup | ||
{ | ||
"type": "fs", | ||
"settings": { | ||
"location": "/tmp/es-backups", | ||
"chunk_size": "10mb" | ||
} | ||
} | ||
``` | ||
|
||
3. Adjust `settings` as necessary, all available settings can be found in docs: | ||
https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html#_shared_file_system_repository | ||
|
||
### Readonly | ||
|
||
Readonly repositories only take `url` setting. Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html#_read_only_url_repository | ||
|
||
It's easy to set up a `file:` url: | ||
``` | ||
PUT _snapshot/my_readonly_repository | ||
{ | ||
"type": "url", | ||
"settings": { | ||
"url": "file:///tmp/es-backups" | ||
} | ||
} | ||
``` | ||
|
||
### Source only | ||
|
||
Source only repositories are special in that they are basically a wrapper around another repository type. Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-snapshots.html#_source_only_repository | ||
|
||
This means that the settings that are available depends on the `delegate_type` parameter. For example, this source only repository delegates to `fs` (file system) type, so all file system rules and available settings apply: | ||
|
||
``` | ||
PUT _snapshot/my_src_only_repository | ||
{ | ||
"type" : "source", | ||
"settings" : { | ||
"delegate_type" : "fs", | ||
"location" : "/tmp/es-backups" | ||
} | ||
} | ||
``` | ||
|
||
### Plugin-based repositories: | ||
|
||
There are four official repository plugins available: S3, GCS, HDFS, Azure. Available plugin repository settings can be found in the docs: https://www.elastic.co/guide/en/elasticsearch/plugins/master/repository.html. | ||
|
||
To run ES with plugins: | ||
|
||
1. Run `yarn es snapshot` from the Kibana directory like normal, then exit out of process. | ||
2. `cd .es/8.0.0` | ||
3. `bin/elasticsearch-plugin install https://snapshots.elastic.co/downloads/elasticsearch-plugins/repository-s3/repository-s3-8.0.0-SNAPSHOT.zip` | ||
4. Repeat step 3 for additional plugins, replacing occurrences of `repository-s3` with the plugin you want to install. | ||
5. Run `bin/elasticsearch` from the `.es/8.0.0` directory. Otherwise, starting ES with `yarn es snapshot` would overwrite the plugins you just installed. |