登录 主页

elasticsearch的数据备份

2025-02-13 10:17AM

1.创建备份目录

eg:

$ mkdir /opt/social_data_backup

2.给备份目录增加权限

$ sudo chown -R elasticsearch:elasticsearch /opt/social_data_backup/

$ ls -ld /opt/social_data_backup

drwxr-xr-x 2 elasticsearch elasticsearch 4096 Feb 13 04:26 /opt/social_data_backup

3.配置备份目录

在/etc/elasticsearch/elasticsearch.yml文件中增加path.repo

path.repo: ["/opt/social_data_backup"]

4.重启elasticsearch

$ sudo systemctl restart elasticsearch

5.创建仓库(这里使用的是本地仓库)

$ curl -X PUT "localhost:9200/_snapshot/your_repository_name" -H 'Content-Type: application/json' -d'
{
  "type": "fs",
  "settings": {
    "location": "/opt/your_backup_location",
    "compress": true
  }
}

eg:

$ curl -X PUT "localhost:9200/_snapshot/social_data" -H 'Content-Type: application/json' -d'

{
  "type": "fs",
  "settings": {
    "location": "/opt/social_data_backup",
    "compress": true
  }
}'
{"acknowledged":true}

6.创建快照

curl -X PUT "http://localhost:9200/_snapshot/my_backup/snapshot_1" -H 'Content-Type: application/json' -d'
{
  "indices": "my_index",
  "ignore_unavailable": true,
  "include_global_state": false
}

eg:

$ curl -X PUT "localhost:9200/_snapshot/social_data/snapshot_1" -H 'Content-Type: application/json' -d'
{
  "indices": "social_data",
  "ignore_unavailable": true,
  "include_global_state": false
}'
{"accepted":true}

7.检查快照状态

$ curl -X GET "localhost:9200/_snapshot/social_data/snapshot_1/_status"

8.列出所有快照

$ curl -X GET "localhost:9200/_snapshot/social_data/_all"

9.查看未分配分片的详细信息

$ curl -X GET "localhost:9200/_cat/shards?v"

10.可以在备份目录查看备份进度

$ ls -altrh

total 20K
drwxr-xr-x 6 root          root          4.0K Feb 13 04:26 ..
-rw-r--r-- 1 elasticsearch elasticsearch  154 Feb 13 04:45 index-1
-rw-r--r-- 1 elasticsearch elasticsearch    8 Feb 13 04:45 index.latest
drwxr-xr-x 3 elasticsearch elasticsearch 4.0K Feb 13 04:45 .
drwxr-xr-x 3 elasticsearch elasticsearch 4.0K Feb 13 04:45 indices

返回>>

登录

请登录后再发表评论。

评论列表:

目前还没有人发表评论