elasticsearch索引迁移_记一次elasticsearch 索引迁移

由于公司机房调整,需要将ES数据从一个集群迁移到另一集群。两个集群ES都是5.x版本,小版本存在差异,目标集群版本更低。数据由多个索引构成,每个索引大概1TB左右。

迁移方式

从资料看,Restore From a Snapshot 方式最快,适合备份大量数据,但是这种方式必须要求是相同版本或者是从低版本到高版本迁移,不适用目前场景,所以先排除。再看Reindex from a remote cluster, 这种方式也比较灵活,但在使用时需要在目标集群配置 reindex.remote.whitelist,由于集群已经上线,且是公用的,所有不能修改配置,排除这种方式。最后只有Index From the Source方式可以选择。

这种方式说白了就是通过http请求来完成的,一种方式是把原始索引保存到文件,然后再目标ES集群通过文件恢复。另一种方式是直接从原始ES集群读取请求,然后POST到目标集群。由于这里数据量比较大,保存文件的方式不太现实,只能通过网络发送。

问题

如果采用from + size方式会有深度分页问题,这里采用scroll + bulk方式。

这里可以自己写脚本完成,可以通过 esm工具完成。需要注意的是自己写脚本需要有重试机制,否则每次失败都得重来。esm工具不支持后台运行,通过nohup和&操作并没有效果,如需后台运行,配合screen工具使用。

还有一点需要注意的是,如果是跨机房拷贝,工具最好在同一个机房运行,否则会有很大的延时。通过测试esm工具拷贝500GB的索引,配置5个进程大概在2h左右。这里建议不要同时拷贝太多的索引,以免集群扛不住挂掉。

如果失败了,只能重新开始,因为scroll每次的结果并不是一样的,没法从断电继续运行。

Elasticsearch 索引Elasticsearch 集群的核心组件之一,它负责存储、管理和查询大量数据。在 Elasticsearch 中,索引类似于数据库表的概念,在这里数据按照特定结构组织,并允许快速搜索。 ### Elasticsearch 索引的特点: 1. **结构化存储**:每个文档在索引中都有其唯一标识符 (ID),并且可以包含多种类型的数据,如文本、数字、日期等。文档通常由键值对组成,易于理解与操作。 2. **全文搜索能力**:Elasticsearch 强大之处在于它的全文搜索功能。它能够提供高效的模糊匹配、通配符查询、正则表达式搜索等功能,使得复杂的查询变得简单可行。 3. **分布式设计**:Elasticsearch索引可以分布到集群的多个节点上,实现了水平扩展性和高可用性。这意味着随着数据量的增长,系统性能也能线性提升。 4. **实时操作**:无论是写入还是检索数据,Elasticsearch 提供了非常低的延迟时间。这使其非常适合需要实时响应的应用场景。 5. **内置分析库**:Elasticsearch 内置了一系列强大的分析工具,包括但不限于分词、聚合、过滤等,用于从原始数据中提取有价值的信息。 ### 创建索引: 创建 Elasticsearch 索引的基本步骤包括选择索引名称并指定其配置属性,例如类型、映射规则等。通过 API 或 CLI 工具(如 `curl`),你可以轻松地创建一个新的索引,定义如何存储和搜索数据。 ```bash PUT /my_index_name { "mappings": { "properties": { "title": { "type": "text" }, "content": { "type": "text", "analyzer": "ik_max_word" } } } } ``` 上述命令将创建名为 `my_index_name` 的索引,并定义了一个用于存储文本内容的字段 `title` 和 `content`,其中 `content` 字段使用了自定义的中文分词器。 ### 使用索引: 一旦索引建立,就可以向其中添加(`index`)、更新(`update`)、查询(`search`)、删除(`delete`) 文档。Elasticsearch 提供丰富的 RESTful API 来执行这些操作。 ### 相关问题: 1. **如何优化 Elasticsearch 索引性能?** - 调整分片设置、提高缓存命中率、合理设置字段类型及分析器、实施适当的索引策略等。 2. **如何处理 Elasticsearch 索引的数据迁移?** - 利用 Elasticsearch 的内部工具和脚本进行迁移,或者使用专门的数据复制服务。 3. **Elasticsearch 索引的安全管理措施有哪些?** - 设置安全角色、权限控制、认证机制、数据加密等方式来保护索引数据的安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值