COS快照迁移ES集群

红米9个月前技术文章277

一、COS 全量快照备份

基于 COS 快照的迁移方式是使用 ES 的 snapshot api 接口进行迁移,基本原理就是从源 ES 集群创建索引快照,然后在目标 ES 集群中进行恢复。通过 snapshot 方式进行数据迁移时,特别需要注意 ES 的版本问题:

目标 ES 集群的主版本号(如5.6.4中的5为主版本号)要大于等于源 ES 集群的主版本号。

1.x 版本的集群创建的快照不能在 5.x 版本中恢复。

1、源es集群创建仓库

GET /_cat/indices?v

PUT _snapshot/my_cos_backup
{
  "type": "cos",
  "settings": {
    "app_id": "130*****",
    "access_key_id": "*****",
    "access_key_secret": "******",
    "bucket": "es-xyz",
    "region": "ap-****",
    "compress": true,
    "base_path": "/"
  }
}

/* app_id:腾讯云账号 APPID。

 access_key_id:腾讯云 API 密钥 SecretId。 

access_key_secret:腾讯云 API 密钥 SecretKey。

 bucket:COS Bucket 名字,不带 appId 后缀的 bucket 名。

 region:COS Bucket 地域,必须与 ES 集群同地域。

 */

2、源es集群创建自建索引的快照

PUT /_snapshot/my_cos_backup/snapshot_01 
{
  "indices": "*,-.*,-ilm-*"
}

3、源es集群查看验证

GET /_snapshot/my_cos_backup/snapshot_01/_status

4、腾讯云cos迁移到阿里云的oss

选择阿里云在线迁移服务

5、在阿里云es建立相同的仓库

PUT _snapshot/my_cos_backup
{
    "type": "oss",
    "settings": {
        "endpoint": "oss-cn-*****-internal.aliyuncs.com",
        "access_key_id": "**********",
        "secret_access_key": "************",
        "bucket": "es-test",
        "compress": true
    }
}

6、在阿里云es上恢复快照

POST _snapshot/my_cos_backup/snapshot_01/_restore
{
  "indices":"*",
  "ignore_unavailable":"true"
}

7、查看索引恢复时间

GET /_cat/recovery?v&format=json&pretty&s=time:desc

二、增量快照备份

1、腾讯云es集群增量打快照

PUT /_snapshot/my_cos_backup/snapshot_02
{
   "indices": "*,-.*,-ilm-*"
}

2、腾讯云cos增量迁移数据到阿里云的oss

选择阿里云在线迁移服务 -->创建迁移任务

3、手动关闭集群自建索引

POST *,-.*/_close

4、在阿里云es上恢复增量快照,快照恢复完成后,索引会被自动打开

POST _snapshot/my_cos_backup/snapshot_02/_restore
{
  "indices":"*",
  "ignore_unavailable":"true"
}

5、目标es集群查看恢复情况

GET  _snapshot/my_cos_backup/*

6、查看某个索引的恢复耗时

GET index001/_recovery


相关文章

HPA控制器

HPA控制器

HPA (动态扩缩容)kubectl 有一个 scale 命令 kubectl scale deployment/nginx --replicas=4 它可以帮助 Pod 进行扩缩容,这个过程完全手动...

prometheus黑盒监控

prometheus黑盒监控

黑盒监控即以用户的身份测试服务的外部可见性,常见的黑盒监控包括 HTTP探针、TCP探针、Dns、Icmp等用于检测站点、服务的可访问性、服务的连通性,以及访问效率等。prometheus提供了bla...

hbase无法执行脚本停止服务问题分析

hbase无法执行脚本停止服务问题分析

问题现象:hbase执行stop-hbase.sh无法停止hbase进程定位过程:1.     执行脚本发现脚本在执行了停止命令后一直在循环查询hbase状态2...

Go 配置文件管理(ini)

Go 配置文件管理(ini)

1、背景ini 文件是 Initialization File 的缩写,即初始化文件,可用于统一管理各项配置。gopkg.in/ini.v1 是地表最强大、最方便和最流行的 Go 语言 INI 文件操...

Scylladb部署

Scylladb部署一、部署在centos 7.9上部署scylla-4.2下面步骤都需要root权限或者sudo权限1、添加scylladb 回购文件和yum源yum install epel-re...

Rancher+dashboard安装部署

Rancher+dashboard安装部署

一、简介1、什么rancherRancher是一个开源软件平台,使组织能够在生产中运行和管理Docker和Kubernetes。使用Rancher,组织不再需要使用一套独特的开源技术从头开始构建容器服...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。