簡書 溪渠
轉(zhuǎn)載請注明原創(chuàng)出處闽撤,謝謝!
如果讀完覺得有收獲的話哟旗,歡迎點贊加關(guān)注
1. 安裝elasticsearch-repository-hdfs插件
如果需要使用hdfs作為snapshot的備份地址,需要先安裝elasticsearch-repository-hdfs插件饱亮。
- 在線安裝
./plugin install elasticsearch/elasticsearch-repository-hdfs/2.1.1
- 離線安裝
從插件鏡像地址下載插件壓縮包,然后執(zhí)行
./plugin install file:///elasticsearch-repository-hdfs-2.2.0-rc1-hadoop2.zip
目前2.1.1版本對應(yīng)的插件無法使用近尚,要使用2.2.0-rc1版本场勤,所有節(jié)點都需要安裝該插件歼跟。
在elasticsearch.yml中配置如下保證elasticsearch可以對hdfs進行讀寫格遭。
security.manager.enabled: false
2. 配置倉庫地址
一般我們需要在Elasticsearch集群所有節(jié)點的elasticsearch.yml文件中配置數(shù)據(jù)備份的倉庫地址哈街,如下:
path.repo: ["/opt/es-snapshot-repo"]
3. 注冊倉庫
Elasticsearch支持多種倉庫注冊方式:
- S3 repository support
- HDFS repository support in Hadoop environments
- Azure storage repositories
- Google Cloud Storage repositories
1. 使用file system注冊
curl -XPUT 'http://localhost:9200/_snapshot/backup' -d
'{
"type": "fs",
"settings": {
"location": "/opt/es-snapshot-repo",
"compress": true
}
}'
2. 使用hdfs注冊
uri指定了Hadoop的NameNode地址
curl -XPUT 'http://localhost:9200/_snapshot/my_hdfs_repository' -d
'{
"type": "hdfs",
"settings": {
"uri": "hdfs://namenode:9000/",
"path": "elasticsearch/respositories/my_hdfs_repository"
}
}'
4. 創(chuàng)建snapshot
Elasticsearch創(chuàng)建數(shù)據(jù)快照是以index為單位進行的骚秦,可以使用缺省模式默認(rèn)創(chuàng)建所有index的副本璧微,也可以進行指定作箍。
對所有index創(chuàng)建snapshot:
curl -XPUT 'http://localhost:9200/_snapshot/backup/snapshot_1?wait_for_completion=true'
指定index創(chuàng)建snapshot:
curl -XPUT 'http://localhost:9200 /_snapshot/backup/snapshot_2' -d
{
"indices": "index_name1,index_name2",
"ignore_unavailable": true,
"include_global_state": false
}
快照創(chuàng)建時不會影響搜索查詢胞得,并且快照創(chuàng)建過程啟動后,新的數(shù)據(jù)不會被記錄到快照中阶剑,同一時刻只能有一份快照被創(chuàng)建危号。
5. 刪除snapshot
刪除指定快照
curl -XDELETE 'http://172.24.63.16:9200/_snapshot/backup/snapshot_1?pretty'
刪除整個倉庫
curl -XDELETE 'http://172.24.63.16:9200/_snapshot/backups?pretty'
刪除操作還可以終止一個正在進行的快照備份。
6. 恢復(fù)snapshot
在兩個不同的ES集群中遷移恢復(fù)數(shù)據(jù)時外莲,我們需要保證一些條件。
- 新集群版本應(yīng)該比創(chuàng)建snapshot的集群版本更高
- 新集群應(yīng)該有足夠的空間存儲快照中的所有index偷线,當(dāng)然也可以指定部分index恢復(fù)以適應(yīng)小集群
- 如果舊集群中有index的shard分配到指定的節(jié)點上,那么新集群恢復(fù)時也會遵循此規(guī)則俐填,因此如果新集群不包含指定節(jié)點時,這一部分index將無法恢復(fù)
恢復(fù)指令:
curl -XPOST 'http://localhost:9200/_snapshot/backup/snapshot_1/_restore?pretty'
溪渠
2017 年 03月 13日