COS快照迁移ES集群

红米2年前技术文章1001

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


相关文章

python-序列化和反序列化

1、为什么要序列化内存中的字典、列表、集合以及各种对象,如何保存到一个文件中?如果是自己定义的类的实例,如何保存到一个文件中?如何从文件中读取数据,并让它们在内存中再次恢复成自己对应的类的实例?要设计...

dbms_support包跟踪10046

系统默认没有安装dbms_support这个包,可以手动执行$ORACLE_HOME/rdbms/admin/dbmssupp.sql脚本来创建该包。安装dbms_support包: SQL>...

chronyc时间同步器配置

chronyc时间同步器配置

chronyc & chronydchrony 有两个核心组件:chronyd守护进程,主要用于调整内核中运行的系统时间和时间服务器同步chronyc命令行界面程序,让用户能够对 chrony...

PostgreSQL 流复制

前言PostgreSQL 流复制(Streaming Replication)是 9.0 提供的一种新的 WAL 传递方法。使用流复制时,每当 Primary 节点 WAL 产生,就会马上传递到 St...

RAC和DG的选择

RAC和DG的选择

RAC和DG的选择一、RAC1、什么是RAC实时应用集群,是负载均衡模式,两台机器同时工作参与到业务系统中,如果其中一个节点出现问题,所有的会话连接会转到另一个节点,保证业务系统正常运行,但是数据只有...

HDFS业务类型与相关架构优化措施

低延迟业务计算密集型业务,低延迟业务,这一类业务通常是对大量NameNode文件目录访问为主的(权限判断,文件存在性,文件信息查询等对NameNode元数据操作为主的)。因此需要针对NameNode的...

发表评论    

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