elasticsearch 关于快照迁移的说明

2018-03-21  本文已影响0人  无火余灰

步骤说明

  1. 集群A创建索引
  2. 集群A申明仓库地址
  3. 集群A创建快照
  4. 拷贝仓库内容至集群B准备用的仓库
  5. 集群B指定仓库位置
  6. 集群B查询当前已有快照
  7. 集群B选择恢复快照

步骤详解

集群启动前的配置

* 配置/config/elasticsearch.yml
cluster.name: test
node.name: node-test
node.max_local_storage_nodes: 1            
http.port: 920
path.repo: /backuptest/es_backup_test          此集群共享仓库位置

集群A创建索引

PUT /megacorp/employee/1
{
    "first_name" : "John",
    "last_name" :  "Smith",
    "age" :        25,
    "about" :      "I love to go rock climbing",
    "interests": [ "sports", "music" ]
}
实际链接是 http://localhost:9200/megacorp/employee/1 9200是elastic的端口
megacorp为索引,employee是类型

你可以用 localhost:9200/megacorp/employee/_search 查看

集群A声明仓库

http://localhost:9200/_snapshot/my_backup
PUT _snapshot/my_backup                my_backup是自定义的仓库名称
{
  "type": "fs",                        fs表明为共享仓库
  "settings": {
    "location": "/backup/es_backup_origin"
  }
}

如果你想了解共享仓库,请走传送门

快照备份

http://localhost:9200/_snapshot/my_backup/snapshot_1?wait_for_completion=true

PUT /_snapshot/my_backup/snapshot_1?wait_for_completion=true
snapshot_1 为自定义的快照名字

拷贝仓库内容至集群B准备用的仓库

集群B指定仓库位置

配置集群B的yml文件,指明端口,集群名字等,别忘了指定它的path.repo

http://localhost:9201/_snapshot/my_backup
PUT _snapshot/my_backup
{
  "type": "fs",                        fs表明为共享仓库
  "settings": {
    "location": "/backuptest/es_backup_test"
  }
}
  1. 集群B查询当前已有快照
GET  localhost:9201/_snapshot/my_backup/_all 

此时你就已经可以从集群A的快照目录中读出信息


TIM截图20180321164955.png
  1. 集群B选择恢复快照
POST /_snapshot/my_backup/snapshot_1/_restore
localhost:9201/_snapshot/my_backup/snapshot_1/_restore

如果没问题的话,此时你可以通过查询索引找到集群A中添加的内容

localhost:9201/megacorp/employee/_search
上一篇下一篇

猜你喜欢

热点阅读