COS快照迁移ES集群

红米2年前技术文章1136

一、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


相关文章

pod内无法访问slb的监听

pod内无法访问slb的监听

问题背景在A账号下的k8s集群中有个nginx 应用,需要去访问B账号下内网slb代理的一个服务。B账号下的slb有多条监听,测试发现只有个别监听可以telnet通,其余监听telnet均不通。可能是...

MySQL日期相关函数

一、当前时间--当前时间select current_timestamp();--当前时间 等价于 select current_timestamp();select now();--基本等价于以上两...

DBMS_SESSION包跟踪10046

注意:DBMS_SESSION包:只能跟踪当前会话,不能指定会话DBMS_SESSION.SET_SQL_TRACE=ALTER SESSION SET SQL_TRACE; =ALTER SESSI...

MySQL主从部署(同步+半同步)

一、环境规划1.1服务器规划服务器 IP 版本 配置 Mysql 端口 角色172-16-104-8 172.16.104.8 CentOS release 6.8 (Final) 4c8g 5.7....

MySQL运维实战(4.3) SQL_MODE之ONLY_FULL_GROUP_BY

设置ONLY_FULL_GROUP_BY后,对有group by子句SQL,select的字段要么是group by中的字段,要么对字段进行聚合运算,否则sql执行报错。不设置ONLY_FULL_GR...

Kafka副本策略

Kafka副本策略

Kafka的高可靠性的保障来源于其健壮的副本(replication)策略。1. 数据同步kafka在0.8版本前没有提供Partition的Replication机制,一旦Broker宕机,其上的所...

发表评论    

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