【最佳实践】大数据时代,通过OSS快照迁移Elasticsearch数据
当您需要在Elasticsearch集群间迁移数据,或者需要恢复Elasticsearch中的数据时,可通过OSS快照的方式来实现。OSS快照方式的数据迁移,适用于数据量比较大的场景,简单流程如下。
本文以将自建Elasticsearch迁移至阿里云Elasticsearch中为例,为您介绍通过OSS快照迁移数据的具体方法。
阿里云Elasticsearch兼容开源Elasticsearch的功能,以及Security、Machine Learning、Graph、APM等商业功能,致力于数据分析、数据搜索等场景服务。支持5.5.3、6.3.2、6.7.0、6.8.0和7.4.0等版本,并提供了商业插件X-Pack服务。在开源Elasticsearch的基础上提供企业级权限管控、安全监控告警、自动报表生成等功能。阿里云Elasticsearch为您提供1个月的免费试用活动,单击此处即可免费试用。
与开源Elasticsearch相比,阿里云Elasticsearch提供了高可用性、高可靠性、高安全性等功能特性。并且提供Elasticsearch和Kibana的全托管服务,您可以按需付费,即买即用。在此基础上,还对内核性能进行了优化,提供独立的index build服务、存储计算分离、智能运维、达摩院分词器、商业插件等功能。
操作流程
-
完成搭建自建Elasticsearch集群、创建OSS Bucket、创建阿里云Elasticsearch集群。
-
步骤一:安装elasticsearch-repository-oss插件
在自建Elasticsearch各节点中安装elasticsearch-repository-oss插件,插件安装后才可在自建Elasticsearch中创建OSS仓库。
-
使用snapshot API在自建Elasticsearch中创建快照备份仓库。
-
为需要迁移的索引创建快照,并将快照备份到已创建的仓库中。
-
在阿里云Elasticsearch的Kibana控制台中,使用snapshot API创建一个与自建Elasticsearch相同的快照备份仓库。
-
将仓库中已备份的自建Elasticsearch的快照恢复到阿里云Elasticsearch中,完成数据迁移。
-
快照恢复后,查看恢复的索引和索引数据。
准备工作
-
准备自建Elasticsearch集群。
如果您还没有自建Elasticsearch集群,建议您使用阿里云ECS进行搭建,具体操作步骤请参见[安装并运行Elasticsearch](https://www.elastic.co/guide/cn/elasticsearch/guide/current/running-elasticsearch.html)。 本文以单节点的Elasticsearch集群为例进行演示,版本为6.7.0。实际生产中您可以购买多个相同专有网络VPC(Virtual Private Cloud)的ECS搭建Elasticsearch集群,购买ECS的具体步骤请参见[使用向导创建实例](https://help.aliyun.com/document_detail/87190.html?spm=a2c4g.11186623.2.29.6739639dydpjkZ#task-vwq-5g4-r2b)。
-
开通OSS服务,并创建与自建Elasticsearch所在ECS相同区域的Bucket。
具体操作步骤请参见[开通OSS服务](https://help.aliyun.com/document_detail/31884.html?spm=a2c4g.11186623.2.30.7275639dbLtjau#task-njz-hf4-tdb)和[创建存储空间](https://help.aliyun.com/document_detail/31885.html?spm=a2c4g.11186623.2.31.7275639dbLtjau#task-u3p-3n4-tdb)。 **说明:** 请创建标准存储类型的OSS Bucket,不支持归档存储类型。
-
创建目标阿里云Elasticsearch实例,所选区域与您创建的Bucket相同。
具体操作步骤请参见[创建阿里云Elasticsearch实例](https://help.aliyun.com/document_detail/69055.html?spm=a2c4g.11186623.2.32.7275639dbLtjau#task-2444429)。
步骤一:安装elasticsearch-repository-oss插件
- 连接自建Elasticsearch集群所在的ECS。
说明: 连接ECS的方式请参见连接Linux实例。
-
下载elasticsearch-repository-oss插件。
本文使用6.7.0版本的插件,要求JDK为11.0及以上版本。
wget https://github.com/aliyun/elasticsearch-repository-oss/releases/download/v6.7.0/elasticsearch-repository-oss-6.7.0.zip
-
将安装包解压到自建Elasticsearch各节点安装路径的plugins目录下。
unzip -d /home/elastic/app/elasticsearch-6.7.0/plugins elasticsearch-repository-oss-6.7.0.zip
**说明:** 请将`/home/app/elasticsearch-6.7.0`替换为您自建Elasticsearch的安装路径。
-
修改插件的plugin-descriptor.properties文件中Elasticsearch集群的版本号,将其设置为当前Elasticsearch集群的版本。
说明: 如果您使用的elasticsearch-repository-oss插件的版本与您自建Elasticsearch集群的版本相同,可忽略此步骤。
使用以下命令打开plugin-descriptor.properties文件,将elasticsearch.version设置为当前Elasticsearch集群的版本。
vim /home/elastic/app/elasticsearch-6.7.0/plugins/plugin-descriptor.properties
-
启动自建Elasticsearch集群各节点。
cd /home/app/elasticsearch-6.7.0/bin ./elasticsearch -d
**说明:** 请将`/home/app/elasticsearch-6.7.0`替换为您自建Elasticsearch的安装路径。
步骤二:在自建Elasticsearch集群中创建仓库
连接自建Elasticsearch所在的ECS,执行如下命令创建仓库。
curl -H "Content-Type: application/json" -XPUT localhost:9200/_snapshot/es_backup -d' {"type": "oss", "settings": { "endpoint": "http://oss-cn-hangzhou-internal.aliyuncs.com", "access_key_id": "your_accesskeyid", "secret_access_key":"your_accesskeysecret", "bucket": "es-backup-es", "compress": true }}'
参数 | 说明 |
---|---|
es_backup | 仓库名称,可自定义。 |
type | 仓库类型,请设置为oss 。 |
endpoint | OSS Bucket的访问地址,请参见访问域名和数据中心获取。 说明: 如果自建Elasticsearch所在ECS与您的OSS在同一区域,请使用内网地址,否则请使用外网地址。 |
access_key_id | 创建OSS Bucket的账号的AccessKey ID,获取方式请参见如何获取AccessKeyId和AccessKeySecret。 |
secret_access_key | 创建OSS Bucket的账号的AccessKey Secret,获取方式请参见如何获取AccessKeyId和AccessKeySecret。 |
bucket | 您创建的OSS Bucket名称。 |
compress | 是否压缩。 |
创建成功后,返回"acknowledge":true
。
步骤三:为指定索引创建快照
在自建Elasticsearch中创建一个快照,用来备份您需要迁移的索引数据。创建快照时,默认会备份所有打开的索引。如果您不想备份系统索引,例如以.kibana、.security、.monitoring等开头的索引,可在快照时指定需要备份的索引。
注意: 建议您不要备份系统索引,因为系统索引会占用较大空间。
curl -H "Content-Type: application/json" -XPUT localhost:9200/_snapshot/es_backup/snapshot_1?pretty -d' { "indices": "index1,index2" }'
index1
和index2
为您需要备份的索引名称。快照创建成功后,返回"accepted" : true
。
步骤四:在阿里云Elasticsearch上创建相同仓库
-
登录阿里云Elasticsearch的Kibana控制台。
登录控制台的具体步骤请参见[t615643.md\#](t615643.md#)。
- 在左侧导航栏单击Dev Tools。
-
在Console中执行以下命令,创建与自建Elasticsearch相同的仓库。
PUT _snapshot/es_backup { "type": "oss", "settings": { "endpoint": "oss-cn-hangzhou-internal.aliyuncs.com", "access_key_id": "your_accesskeyid", "secret_access_key": "your_accesskeysecret", "bucket": "es-backup-es", "compress": true } }
步骤五:在阿里云Elasticsearch上恢复快照
参见步骤四:在阿里云Elasticsearch上创建相同仓库,在Kibana控制台上执行以下命令,恢复快照中的所有索引(除过.
开头的系统索引)。
POST _snapshot/es_backup/snapshot_1/_restore {"indices":"*,-.monitoring*,-.security_audit*","ignore_unavailable":"true"}
命令执行成功,返回"accepted" : true
。
以上命令会恢复快照中的所有索引,您也可以选择需要恢复的索引。同时如果阿里云Elasticsearch集群中有同名索引,而您想在不替换现有数据的前提下,恢复旧数据来验证内容,或者处理其他任务,可在恢复过程中重命名索引。
POST _snapshot/es_backup/snapshot_1/_restore { "indices":"index1", "rename_pattern": "index(.+)", "rename_replacement": "restored_index_$1" }
说明: 更多快照和恢复命令请参见快照备份与恢复命令。
步骤六:查看快照恢复结果
参见步骤四:在阿里云ES上创建相同仓库,在Kibana控制台上执行以下命令,查看恢复结果。
-
查看恢复的索引
GET /_cat/indices?v
-
查看恢复的索引数据
GET /index1/_search
执行成功后,返回结果如下。
{ "took" : 2, "timed_out" : false, "_shards" : { "total" : 5, "successful" : 5, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : 1, "max_score" : 1.0, "hits" : [ { "_index" : "index1", "_type" : "_doc", "_id" : "1", "_score" : 1.0, "_source" : { "productName" : "testpro", "annual_rate" : "3.22%", "describe" : "testpro" } } ] } }
相关活动
更多折扣活动,请访问阿里云 Elasticsearch 官网。
阿里云 Elasticsearch 商业通用版,1核2G ,SSD 20G首月免费
阿里云 Logstash 2核4G首月免费

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
DataWorks使用Shell节点调用自定义资源组执行脚本
DataWorks使用Shell节点调用自定义资源组执行脚本背景描述:本文主要介绍DataWorks使用Shell节点调度自定义资源组执行Shell脚本,且使用该功能需要用户的DataWorks版本为企业版。文中主要内容包括配置自定义资源组,以及设置ECS的amdin用户权限,脚本模式使用MaxCompute客户端,并配置手动业务流程执行对应的Shell脚本在开发环境运行,检测其脚本执行的命令是否正确。该功能对于用户调度用户ECS上的的程序提供了便利,使其他的任务能和DataWorks的调度结合起来。 一、设置自定义资源组并配置权限ECS权限 1.1根据文档添加对应空间下的自定义资源组https://help.aliyun.com/document_detail/169950.html1.2查看添加的自定义资源组 1.3登陆添加为自定义资源组的ECS,建立对应目录,并给admin用户设置权限 目录下的odps_haudong为MaxCompute的客户端 upfile.txt内容为 chown -R amdin:admin /home 二、DataWorks新建Shell节点,并进行编...
- 下一篇
X-Pack Spark用户手册
概述 X-Pack Spark是大数据平台的通用计算平台,应用非常广泛。本文主要介绍Spark相关的知识,主要包括:了解Spark,使用Spark,使用Spark过程中遇到的问题FAQ等,谨帮助用户快速的掌握Spark以及如何使用Spark。X-Pack Spar兼容开源Spark,本文介绍的内素材以X-Pack Spark为背景。 大纲 基础篇 Spark的入门介绍 如何使用X-Pack Spark的YarnUI、SparkUI、Spark日志、任务运行状况的分析. Spark 通用的性能配置方法:内存(executor-memory)和CPU(executor-cores)的配置。 Spark本地连接hbase集群做调试. Spark SQL语法介绍 Spark Streaming介绍 Structured Streaming介绍 Spark DataSource外部数据源介绍 进阶篇(高级功能) X-Pack Spark使用[FAQ] FAQ明细请参考:X-Pack Spark使用FAQ X-Pack Spark之性能优化 Spark Streaming 常见优化。 案例实战 广...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- 2048小游戏-低调大师作品
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G