从 Elasticsearch 迁移到 Easysearch 需要考虑多个方面,这取决于当前使用的 Elasticsearch 版本、能容忍的停机时间、应用需求等。在此背景下,我们梳理了一下通用的升级指引,方便大家进行迁移工作。
| Elasticsearch 版本 | 快照兼容 | 推荐升级方法 |
| ---------------------- | ------------ | ------------------------ |
| 5.x | ❌ | 使用 INFINI Console 迁移 |
| 6.x | ✅ | 快照恢复迁移 |
| 7.0.0 - 7.10.2 | ✅ | 快照恢复迁移 |
| >7.11.0 | ❌ | 使用 INFINI Console 迁移 |
之前有同事做过相关测试,详情请移步这里。
部署新的 Easysearch 集群,如果有使用插件(如 IK),也一并安装。
将备份仓库注册到 Easysearch 集群。
在 Easysearch 中设置需要使用的用户名和密码信息。
原 Elasticsearch 集群进行快照备份。
在 Easysearch 集群中进行备份还原。
另部署一套应用连接 Easysearch 集群,进行数据、功能验证。
停止应用写入新的数据到 Elasticsearch。
原 Elasticsearch 集群进行快照备份。
在 Easysearch 集群中进行备份还原。
再次使用应用验证数据、功能正常。
切换,老应用下线使用新应用或者老应用修改地址连接 Easysearch 集群。
部署新的 Easysearch 集群及其插件(如 IK)。
部署 INFINI Console、Gateway 程序。
将 Elasticsearch 和 Easysearch 注册到 INFINI Console 中。
在 Easysearch 中设置需要使用的用户名和密码信息。
建立数据迁移任务,对业务索引进行迁移,建议启用压缩功能。
另部署一套应用连接 Easysearch 集群,进行数据、功能验证。
停止应用写入新的数据到 Elasticsearch。
再次建立数据迁移任务,设置条件,只迁移增量数据。
再次使用应用验证数据、功能正常。
切换,老应用下线使用新应用或者老应用修改地址连接 Easysearch 集群。
如果要继续使用 Java High Level REST Client,建议将版本调整到 7.10.2 。当然更建议的是使用 Easysearch 的客户端,更轻更快,构建查询,跟搭积木一样简单。
极限科技(INFINI Labs) 一直致力于为开发者和企业提供优质的开源工具,提升整个技术生态的活力。除了维护国内最流行的分词器 analysis-ik 和 analysis-pinyin ,也在不断推动更多高质量开源产品的诞生。
在极限科技成立三周年之际,公司宣布以下产品和工具已全面开源:
INFINI Framework
INFINI Gateway
INFINI Console
INFINI Agent
INFINI Loadgen
INFINI Coco AI
以上开源软件都可以在 Github 上面找到:https://github.com/infinilabs
欢迎大家一起参与到开源工具的维护、贡献当中来,别忘了 Star🌟 支持一下!!!
如果您对迁移过程有任何疑问,欢迎与我讨论。