需要从 Elasticsearch 切换到 OpenSearch,或希望使用许可证更宽松的搜索栈。两者 API 高度相似,但插件、安全配置和版本兼容性需要逐项验证。
curl -s http://es:9200 | jq
curl -s 'http://es:9200/_cat/indices?v'
curl -s 'http://es:9200/_cat/aliases?v'
curl -X PUT 'http://es:9200/_snapshot/backup' \
-H 'Content-Type: application/json' \
-d '{"type":"s3","settings":{"bucket":"es-backup","base_path":"migration"}}'
curl -X PUT 'http://es:9200/_snapshot/backup/snap-1?wait_for_completion=true'
curl -X PUT 'http://os:9200/_snapshot/backup' \
-H 'Content-Type: application/json' \
-d '{"type":"s3","settings":{"bucket":"es-backup","base_path":"migration"}}'
curl -X POST 'http://os:9200/_snapshot/backup/snap-1/_restore?wait_for_completion=true'
curl -s 'http://es:9200/_index_template' > templates.json
# 检查字段和版本后写入 OpenSearch
迁移 ILM 到 ISM,调整策略名称和 API。
切换客户端:更新连接地址、认证方式和兼容头。
curl — 快照、恢复和索引管理elasticsearch / opensearch — 集群服务jq — 处理 JSON 响应logstash / filebeat — 数据采集