elasticsearch建立快照、恢復快照
阿新 • • 發佈:2019-02-19
(一)準備工作
環境:
elasticsearch 5.6.3 & repository-hdfs plugin
centos 7
jdk1.8
hadoop 2.7.2
建立測試索引並索引資料
(二)本地檔案系統儲存
1、elasticsearch.yml中配置倉庫路徑
path.repo: [“/home/zhang/backups”]
2、建立倉庫,倉庫名為:my_backup
curl -XPUT 'http://localhost:9200/_snapshot/my_backup' -H 'Content-Type: application/json' -d '{
{
" my_backup": {
"type": "fs",
"settings": {
"compress": true,
"location": "my_backup"
}
}
}'
3、建立快照,快照名為snapshot_1
curl -XPUT 'http://localhost:9200/_snapshot/my_backup/snapshot_1?wait_for_completion=true'
建立後的快照檔案:
4、恢復快照資料
恢復快照資料之前需要關閉索引:
curl -XPOST 'http://localhost:9200/index_test/_close'
提供倉庫名和快照名通過_restore命令恢復快照:
curl -XPOST 'http://localhost:9200/_snapshot/my_backup/snapshot_1/_restore'
(三)Hadoop HDFS檔案系統儲存
1、安裝hdfs儲存支援外掛:
sudo bin/elasticsearch-plugin install repository-hdfs
2、建立倉庫,倉庫名為:my_hdfs_repository
路徑為:/home/zhang/backups/my_hdfs_storage
namenode在/etc/hosts中配置為本地地址
curl -XPUT 'http://localhost:9200/_snapshot/my_hdfs_storage?pretty' -H 'Content-Type: application/json' -d'
{
"type": "hdfs",
"settings": {
"uri": "hdfs://namenode:9000/",
"path": "/home/zhang/backups/my_hdfs_storage"
}
}
'
3、建立快照,快照名為snapshot_hdfs_1
curl -XPUT 'http://localhost:9200/_snapshot/my_hdfs_storage/snapshot_hdfs_1'
檢視hdfs倉庫檔案:
4、恢復快照
首先應該關閉索引,然後恢復
curl -XPOST 'http://localhost:9200/index_test/_close'
curl -XPOST 'http://localhost:9200/_snapshot/my_hdfs_storage/snapshot_hdfs_1/_restore'
(四)驗證是否能有效恢復
首先建立id 為1,2的文件,建立快照,再建立id為3的文件
關閉索引,恢復快照後,不存在id為3的文件,說明當前索引資料被快照恢復覆蓋了,快照資料正常