云搜索服务 CSS
云搜索服务 CSS
- 最新动态
- 功能总览
- 服务公告
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- CSS服务权限管理
-
使用Elasticsearch搜索数据
- Elasticsearch使用流程
- Elasticsearch集群规划建议
- 创建Elasticsearch集群
- 访问Elasticsearch集群
- 导入数据至Elasticsearch集群
- 使用Elasticsearch集群搜索数据
- 增强Elasticsearch集群搜索能力
- 配置Elasticsearch集群网络
- 备份与恢复Elasticsearch集群数据
- 扩缩容Elasticsearch集群
- 升级Elasticsearch集群版本
- 管理Elasticsearch集群
- 管理Elasticsearch集群索引策略
- Elasticsearch集群监控与日志管理
- 查看Elasticsearch集群审计日志
- 使用OpenSearch搜索数据
- 使用Logstash迁移数据
- CSS服务资源监控
- 最佳实践
- API参考
- SDK参考
- 场景代码示例
-
常见问题
- 产品咨询
- 计费相关
- CSS集群访问
- CSS集群迁移
-
CSS集群搜索引擎使用
- CSS服务中为什么新创建的索引分片集中分配到单节点上?
- CSS服务中Elasticsearch 7.x集群如何在index下创建type?
- CSS服务中如何配置Elasticsearch索引副本数量?
- CSS服务中Elasticsearch集群分片过多会有哪些影响?
- 如何查看CSS集群的分片数以及副本数?
- CSS服务中Elasticsearch集群的节点node.roles为i表示什么意思?
- CSS服务中如何设置Elasticsearch集群的默认分页返回最大条数?
- CSS服务中如何更新Elasticsearch生命周期策略?
- CSS服务中如何设置Elasticsearch集群慢查询日志的阈值?
- CSS服务中如何清理Elasticsearch索引数据?
- CSS服务中如何清理Elasticsearch缓存?
- 使用delete_by_query命令删除Elasticsearch集群数据后,为什么磁盘使用率反而增加?
- CSS服务的Elasticsearch集群是否支持script dotProduct?
-
CSS集群管理
- 如何查看CSS集群所分布的可用区?
- CSS服务中Filebeat版本与集群版本的关系是什么?
- 如何获取CSS服务的安全证书?
- CSS服务中如何转换CER安全证书的格式?
- CSS服务中Elasticsearch和OpenSearch集群支持修改安全组吗?
- CSS服务中Elasticsearch集群如何设置search.max_buckets参数?
- CSS服务中如何修改Elasticsearch和OpenSearch集群的TLS算法?
- CSS服务中如何开启Elasticsearch和OpenSearch集群的安全审计日志?
- CSS服务中是否支持停止集群?
- CSS集群冻结索引后如何查询OBS上的索引占用量?
- 如何查看Elasticsearch和OpenSearch集群的系统默认插件列表
- CSS集群备份与恢复
- CSS集群监控与运维
-
故障排除
-
访问集群类
- 无法正常打开Kibana
- Elasticsearch针对filebeat配置调优
- Spring Boot使用Elasticsearch出现Connection reset by peer问题
- 为什么集群创建失败
- Elasticsearch集群出现写入拒绝“Bulk Reject”,如何解决?
- Elasticsearch集群创建index pattern卡住,如何解决?
- 云搜索控制台页面提示系统繁忙
- Elasticsearch集群报错:unassigned shards all indices
- es-head插件连接Elasticsearch集群报跨域错误
- 单节点集群打开Cerebro界面显示告警
- ECS无法连接到集群
- 集群不可用
- 数据导入导出类
-
功能使用类
- 无法备份索引
- 无法使用自定义词库功能
- 快照仓库找不到
- 集群一直处于快照中
- 数据量很大,如何进行快照备份?
- 集群突现load高的故障排查
- 使用ElasticSearch的HLRC(High Level Rest Client)时,报出I/O Reactor STOPPED
- Elasticsearch集群最大堆内存持续过高(超过90%)
- Elasticsearch集群更改规格失败
- 安全集群索引只读状态修改报错
- Elasticsearch集群某一节点分配不到shard
- 集群索引插入数据失败
- CSS创建索引报错“maximum shards open”
- 删除索引报错“403 Forbidden”是什么原因?
- Kibana中删除index pattern报错Forbidden
- 执行命令update-by-query报错“Trying to create too many scroll contexts”
- Elasticsearch集群无法创建pattern
- 端口访问类
-
访问集群类
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
通过备份与恢复迁移第三方Elasticsearch集群至华为云
通过备份与恢复可以将第三方Elasticsearch集群数据迁移至华为云Elasticsearch集群。
应用场景
通过备份与恢复实现第三方Elasticsearch集群和华为云Elasticsearch集群之间的数据迁移,依赖存储仓库。常用于以下场景:
- 变更服务提供商:如果企业当前使用的是第三方Elasticsearch服务,但出于成本、性能或其他战略考虑,希望更换服务提供商至华为云。
- 集群整合:将分散在不同第三方Elasticsearch集群中的数据统一数据迁移到华为云Elasticsearch集群进行集中管理,以实现更高效的数据分析和查询。
- 跨版本迁移:将低版本的第三方Elasticsearch集群数据迁移到高版本的华为云Elasticsearch集群中。
- 技术栈统一:当企业已经在华为云上运行其他服务时,为了技术栈的统一和简化管理,可以选择将Elasticsearch集群也迁移至华为云。
方案架构
通过备份与恢复迁移第三方Elasticsearch集群(源集群)至华为云Elasticsearch集群(目标集群)的迁移流程如图1所示。
- 备份第三方Elasticsearch数据到第三方共享存储仓库上。
- 通过华为云OMS迁移共享存储仓库上的数据到华为云OBS上。
- 通过华为OBS恢复数据到华为云Elasticsearch。
方案优势
- 易于操作和管理:使用Elasticsearch自带的快照和恢复API,操作简单,易于管理和自动化。
- 适用于大规模数据迁移:快照备份适用于数据量大的场景,特别是当数据量达到GB、TB甚至PB级别时。
- 恢复过程可控:在恢复数据时,可以选择恢复特定索引或全部索引,并且可以指定恢复到特定的集群状态。
性能影响
使用备份与恢复迁移集群的核心在于直接复制数据存储层的文件以实现数据备份,该方案避免了对Elasticsearch外部读写接口的依赖,从而显著降低了对源集群性能的影响。对于对业务延迟要求不严苛的集群而言,此方法对性能的干扰几乎可以忽略。
约束限制
- 目标集群的版本不能低于源集群的版本,版本兼容性分析请参见Snapshot version compatibility。
- 备份与恢复不支持动态增量数据同步,建议停止数据更新后再进行备份。
- 第三方存储仓库要配置公网访问才能迁移快照数据。
前提条件
- 源Elasticsearch集群和目标Elasticsearch集群处于可用状态。
- 已备好存储快照数据的OBS桶“esbak”,OBS桶必须和CSS服务的Elasticsearch集群在同一Region。
操作步骤
- 登录Elasticsearch所在的第三方友商云,创建一个支持s3协议的共享存储仓库,例如登录阿里云的进入OSS服务创建目录“patent-esbak”, 或者登录腾讯云进入COS服务创建目录“patent-esbak”。
- 在第三方Elasticsearch集群中创建快照备份仓库,用于存放Elasticsearch快照数据。
例如,在Elasticsearch中创建一个备份仓库“my_backup”,关联到存储仓库OSS。
PUT _snapshot/my_backup { # 存储仓库类型。 "type": "oss", "settings": { # 步骤1中存储仓库的内网访问域名。 "endpoint": "http://oss-xxx.example.com", # 存储仓库的用户ID和密码。认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密, 确保安全;本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量ak和sk。 "access_key_id": "ak", "secret_access_key": "sk", # 步骤1创建的存储仓库的bucket名称。 "bucket": "patent-esbak", # 是否打开快照文件的压缩功能。 "compress": false, # 配置此参数可以限制快照数据的分块大小。当上传的快照数据超过这个数值,数据就会被分块上传到存储仓库中。 "chunk_size": "1g", # 仓库的起始位置,默认是根目录。 "base_path": "snapshot/" } }
- 在第三方Elasticsearch集群中创建快照。
- 在第三方Elasticsearch集群中查看集群的快照创建进度。
- 执行如下命令,可以查看所有快照信息。
GET _snapshot/my_backup/_all
- 执行如下命令,可以查看指定快照“snapshot_1”的信息。
GET _snapshot/my_backup/snapshot_1
- 执行如下命令,可以查看所有快照信息。
- 通过华为云对象存储迁移服务OMS将快照数据从存储仓库迁移到对象存储服务OBS的“esbak”桶中。
OMS支持多种云服务商数据迁移到对象存储服务OBS中,具体请参见各云服务商迁移教程。
说明:
在OMS创建迁移任务时,“元数据迁移方式”一定要选择“保留元数据”,否则数据迁移会有异常。
- 在CSS服务的Elasticsearch集群中创建一个存储仓库关联到OBS,用于恢复第三方Elasticsearch的快照数据。
例如,在集群中创建一个“my_backup_all”的存储仓库,关联上一步OBS桶“esbak”。
PUT _snapshot/my_backup_all/ { "type" : "obs", "settings" : { # OBS的内网访问域名。 "endpoint" : "obs.xxx.example.com", "region" : "xxx", # 访问OBS的用户名和密码。认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险, 建议在配置文件或者环境变量中密文存放, 使用时解密, 确保安全;本示例以ak和sk保存在环境变量中为例, 运行本示例前请先在本地环境中设置环境变量ak和sk。 "access_key": "ak", "secret_key": "sk", # OBS的桶名称,和上一步迁移目标集群的OBS桶名保持一致。 "bucket" : "esbak", "compress" : "false", "chunk_size" : "1g", # 注意“snapshot”后面没有/。 "base_path" : "snapshot", "max_restore_bytes_per_sec": "100mb", "max_snapshot_bytes_per_sec": "100mb" } }
- 在CSS服务的Elasticsearch集群中通过快照恢复数据。
- 查看所有快照信息。
GET _snapshot
- 通过快照恢复数据。
- 恢复某一快照中的所有索引。例如恢复名为“snapshot_1”的快照的所有索引数据。
POST _snapshot/my_backup_all/snapshot_1/_restore?wait_for_completion=true
- 恢复某一快照中的部分索引。例如名为“snapshot_1”的快照中只恢复非“.”开头的索引。
POST _snapshot/my_backup/snapshot_1/_restore {"indices":"*,-.monitoring*,-.security*,-.kibana*","ignore_unavailable":"true"}
- 恢复某一快照中的指定索引,并重命名。例如在名为“snapshot_1”的快照中,将索引“index_1”恢复为“restored_index_1”,“index_2”恢复为“restored_index_2”。
POST /_snapshot/my_backup/snapshot_1/_restore { # 只恢复索引“index_1”和“index_2”,忽略快照中的其他索引。 "indices": "index_1,index_2" # 查找正在恢复的索引,该索引名称需要与提供的模板匹配。 "rename_pattern": "index_(.+)", # 重命名查找到的索引。 "rename_replacement": "restored_index_$1" }
- 恢复某一快照中的所有索引。例如恢复名为“snapshot_1”的快照的所有索引数据。
- 查看所有快照信息。
- 查看快照恢复结果。
- 查看所有快照的恢复结果。
GET /_recovery/
- 查看指定索引的快照恢复结果。
GET {index_name}/_recovery
- 查看所有快照的恢复结果。
父主题: Elasticsearch数据迁移