文章目录
本文记录的是在两个单机ES服务之间的数据迁移。
索引数据迁移主要步骤
1、再旧服务上备份索引数据
2、在新服务上恢复索引数据
在旧服务上备份索引数据
第一步,先查看旧服务上的快照仓库信息
获取所有已注册快照仓库,省略仓库名或者使用_all
curl -X GET "localhost:9200/_snapshot?pretty"
返回
{
"elasticsearch_backup" : {
"type" : "fs",
"settings" : {
"location" : "/usr/local/elasticsearch_backup"
}
}
}
查看仓库中所有快照信息
curl -X GET "localhost:9200/_snapshot/elasticsearch_backup/_all?pretty"
返回
{
"snapshots" : [ ]
}
第二步,创建最新快照备份
创建新快照前,先执行以下命令,确保缓存中的索引落到磁盘中:
curl -X POST "localhost:9200/_flush?pretty"
返回
{
"_shards" : {
"total" : 270,
"successful" : 135,
"failed" : 0
}
}
创建快照
curl -X PUT "localhost:9200/_snapshot/elasticsearch_backup/snapshot-2018.09.26-01?wait_for_completion=true" -H 'Content-Type: application/json' -d'
{
"ignore_unavailable": true,
"include_global_state": false
}
'
设值选项 ignore_unavailable=true,快照过程中会忽略不存在的索引,默认没有设值,遇到不存在的索引,快照过程将失败。设值 include_global_state 为 false,可以阻止集群全局状态信息被保存为快照的一部分。默认情况下,如果如果一个快照中的一个或者多个索引没有所有主分片可用,整个快照创建会失败,该情况可以通过设置 partial 为 true 来改变。
上面命令返回
{
"snapshot":{
"snapshot":"snapshot-2018.09.26-01",
"uuid":"Gs4xr5ErSE22sGcSlfpXAQ",
"version_id":5020299,
"version":"5.2.2",
"indices":[
"60cbd2e0f2c4410eaa7cde7f0f735487",
.......
"e39555dec34c4492a6a6ece0daadac19",
"11d66120782e4583976d5bc235c29d29",
"27cffb9f205b49b7aa48c6011c5fe1e4"
]