You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何用AWS Elasticsearch 6.0.1及Kibana在另一台机器恢复指定快照

如何将AWS Elasticsearch 6.0.1的指定快照恢复到另一台机器

我来帮你梳理下把指定快照恢复到另一台机器的完整步骤,结合你用AWS ES和Kibana 6.0.1的场景,分几个关键环节来操作:

前提准备

首先得确保目标机器的Elasticsearch环境满足两个核心条件:

  • 版本和源集群保持一致(6.0.1),避免版本兼容问题;
  • 目标集群能访问到快照所在的存储位置(AWS ES的快照默认存在S3桶里,所以要确保目标环境有权限访问这个S3桶)。

步骤1:配置目标集群的快照仓库

如果目标机器是AWS ES域

  1. 给目标ES域的IAM角色添加访问快照所在S3桶的权限(权限配置要和源域的快照角色一致,确保能读写S3桶);
  2. 在目标域创建和源域同配置的快照仓库,执行命令:
curl -XPUT 'target-es-domain-endpoint/_snapshot/your-repo-name' -H 'Content-Type: application/json' -d '{
  "type": "s3",
  "settings": {
    "bucket": "your-snapshot-s3-bucket",
    "region": "your-aws-region",
    "role_arn": "arn:aws:iam::your-account-id:role/your-es-snapshot-role"
  }
}'

如果目标机器是自建Elasticsearch

  1. 先安装S3仓库插件:bin/elasticsearch-plugin install repository-s3
  2. 配置S3访问密钥(可以通过elasticsearch.yml或者API设置),然后创建快照仓库,命令和上面类似,只是不需要role_arn,换成access_keysecret_key即可。

步骤2:验证目标集群能识别目标快照

执行你之前用过的命令,替换成目标集群的端点,确认能看到你要恢复的那个快照:

curl -XGET 'target-es-endpoint/_snapshot/your-repo-name/_all?pretty'

检查返回结果里是否有2018-04-08t04-43-08.c5da6a35-8158-4799-a58d-0baf0a432275这个快照。


步骤3:执行快照恢复操作

根据你的需求选择恢复方式:

方式1:恢复所有索引

如果要恢复快照里的全部索引(注意:目标集群里同名的索引会被删除后替换,操作前请确认):

curl -XPOST 'target-es-endpoint/_snapshot/your-repo-name/2018-04-08t04-43-08.c5da6a35-8158-4799-a58d-0baf0a432275/_restore'

方式2:恢复指定索引(可选重命名)

如果只需要恢复部分索引,或者想给恢复后的索引重命名避免冲突,比如只恢复test-index.kibana,并把test-index改成restored-test-index

curl -XPOST 'target-es-endpoint/_snapshot/your-repo-name/2018-04-08t04-43-08.c5da6a35-8158-4799-a58d-0baf0a432275/_restore' -H 'Content-Type: application/json' -d '{
  "indices": "test-index,.kibana",
  "rename_pattern": "test-index",
  "rename_replacement": "restored-test-index"
}'

步骤4:监控恢复进度

恢复过程中可以用以下命令查看状态:

  • 查看详细恢复进度:
curl -XGET 'target-es-endpoint/_recovery?pretty'
  • 查看集群健康状态,等恢复完成后集群会回到green状态:
curl -XGET 'target-es-endpoint/_cluster/health?pretty'

额外注意事项

  • 如果目标是AWS ES域,要确保目标域的节点规格、存储容量足够容纳恢复的索引数据,避免资源不足导致失败;
  • 恢复.kibana索引时,目标Kibana的版本必须和源版本一致(6.0.1),否则可能出现可视化面板无法正常加载的问题;
  • 操作前建议备份目标集群的现有数据,防止意外覆盖。

内容的提问来源于stack exchange,提问作者vinsent paramanantham

火山引擎 最新活动