elasticsearch索引备份恢复、跨集群迁移

参考链接:

https://www.elastic.co/guide/en/elasticsearch/guide/current/backing-up-your-cluster.html#


坑或者是注意事项

indices属于某种node.box_type,恢复索引的目标机群需要有这种type的节点,不然会恢复不了。

indices需要open。


步骤:

1、创建共享文件目录,所有es节点都能读写访问,可以通过nfs的方式。

/etc/exports文件

/data0/elasticsearch-backup *(rw)

(在这里假设目录为/data0/elasticsearch-backup)


2、所有节点修改配置elasticsearch.yml,然后重启节点:

path.repo: /data0/elasticsearch-backup


3、创建snapshot共享仓库

max_snapshot_bytes_per_sec、max_restore_bytes_per_sec默认20mb。

curl -XPUT localhost:9200/_snapshot/backup_test  -d '
{
    "type": "fs", 
    "settings": {
        "location": "/data/disk/nvme0n1p1/backup",

        "max_snapshot_bytes_per_sec" : "50mb", 
        "max_restore_bytes_per_sec" : "50mb",
        "compress": true
    }
}'


4、备份索引数据

快照备份整个机群数据(同一机群注意快照名唯一,snapshot_1)

curl localhost:9200 /_snapshot/backup_test/snapshot_1?wait_for_completion=true

只快照备份某些索引

curl -XPUT localhost:9200/_snapshot/backup_test/snapshot_1?wait_for_completion=true -d '
{
    "indices": "index1,index2,index3"
}'


5、查看备份状态

curl localhost:9200/_snapshot/backup_test/snapshot_1/_status?pretty


6、恢复快照数据,如果目标集群已经存在同名索引,需要先close索引

恢复某个快照所有数据

curl -XPOST  localhost:9200/_snapshot/backup_test/snapshot_1/_restore?wait_for_completion=true

恢复某个快照部分索引数据

curl -XPOST  localhost:9200/_snapshot/backup_test/snapshot_1/_restore?wait_for_completion=true  -d '
{
    "indices": "index1,index2" 
}
'

7、辅助性操作

查看快照状态

curl localhost:9200/_snapshot/backup_test/snapshot_1/_status?pretty

查看恢复状态

curl localhost:9200/index1/_recovery?pretty

删除快照

curl -XDELETE localhost:9200/_snapshot/backup_test/snapshot_1




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值