网站首页 > 技术教程 正文
本文主要介绍elasticsearch中快照的备份与还原,elasticsearch版本7.4.0
因为对于elasticsearch的快照与恢复是建立在elasticsearch有设置快照的存储位置的,所以下面我们先设置一下elasticsearch中快照的存储位置
一、Elasticsearch 配置快照存储位置
配置快照存储位置,elasticsearch.yml 文件中加入如下配置
path.repo: ["my_backup_location"]
由于本人测试 使用的docker-compose方式启动的elasticsearch,所以我要修改的是docker-compose.yml,完整内容如下
version: '2.2'
services:
cerebro:
image: lmenezes/cerebro:0.8.3
container_name: cerebro
ports:
- "9000:9000"
command:
- -Dhosts.0.host=http://elasticsearch:9200
networks:
- es74net
kibana:
image: docker.elastic.co/kibana/kibana:7.4.0
container_name: kibana74
environment:
- I18N_LOCALE=zh-CN
- XPACK_GRAPH_ENABLED=true
- TIMELION_ENABLED=true
- XPACK_MONITORING_COLLECTION_ENABLED="true"
ports:
- "5601:5601"
networks:
- es74net
elasticsearch:
image: elasticsearch:7.4.0
container_name: es74
environment:
- cluster.name=docker-cluster
- node.name=es74
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- discovery.seed_hosts=es74
- cluster.initial_master_nodes=es74
- path.repo=['my_backup_location']
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- es74data1:/usr/share/elasticsearch/data
- my_backup_locaton:/usr/share/elasticsearch/my_backup_location
ports:
- 9200:9200
networks:
- es74net
volumes:
es74data1:
driver: local
networks:
es74net:
driver: bridge
配置修改完成,重启elasticsearh成功之后就可以愉快的进行快照与恢复了。
对于集群中的快照操作可以参考下elasticsearch官网给我们的介绍,大体意思就是其中一个集群节点设置写权限,然后其他集群节点设置只读权限。
If you register same snapshot repository with multiple clusters, only one cluster should have write access to the repository. All other clusters connected to that repository should set the repository to readonly mode.
https://www.elastic.co/guide/en/elasticsearch/reference/7.8/snapshots-register-repository.html
二、创建es快照存储库
my_backup是存储快照库名称,my_backup_location 是elasticsearch指定的存储位置
PUT /_snapshot/my_backup
{
"type": "fs",
"settings": {
"location": "my_backup_location"
}
}
查看创建的快照存储库信息
# 查看指定存储库的信息
GET /_snapshot/my_backup
# 查看全部存储库的信息
GET /_snapshot/_all
三、创建一个或多个索引的快照
创建全部索引的快照
# my_backup 刚才初始化的存储库名称
# snapshot_1 相当于快照的子文件夹,即一个索引或者多个索引快照的名称
PUT /_snapshot/my_backup/snapshot_1?wait_for_completion=true
创建一个或者多个索引快照
# indices 中为要创建索引的索引名称,用逗号分割
# ignore_unavailable 创建快照时该值为true表示不存在的索引会被忽略
PUT /_snapshot/my_backup/snapshot_2?wait_for_completion=true
{
"indices": "index_1,index_2",
"ignore_unavailable": true,
"include_global_state": false,
"metadata": {
"taken_by": "kimchy",
"taken_because": "backup before upgrading"
}
}
对快照名称格式化,生成格式化数字的快照名称
# PUT /_snapshot/my_backup/<snapshot-{now/d}>
PUT /_snapshot/my_backup/%3Csnapshot-%7Bnow%2Fd%7D%3E
四、查看创建快照的信息
# snapshot-2020.06.23 为刚才对创建的快照进行时间格式化之后的结果,此处也可以使用snameshot_1查看该快照的信息
GET /_snapshot/my_backup/snapshot-2020.06.23
查看所有的存储库快照信息
# 获取my_backup存储库所有的快照信息
GET /_snapshot/my_backup/_all
# 一次从多个存储库中获取快照信息
GET /_snapshot/_all
GET /_snapshot/my_backup,my_fs_backup
GET /_snapshot/my*/snap*
查看当前运行快照
GET /_snapshot/my_backup/_current
删除快照
DELETE /_snapshot/my_backup/snapshot_1
五、还原快照
还原选中存储库中快照的所有索引(默认)不还原集群的状态
# snapshot_1 快照的名称
POST /_snapshot/my_backup/snapshot_1/_restore
还原指定索引,并设置是否还原集群状态
# indices 用逗号分割要还原索引的名称
# ignore_unavailable 默认 false 不还原集群状态,如果为true,则快照的持久性设置,索引模板,接收管道和ILM策略将还原到当前集群中。这将覆盖名称与快照中的名称匹配的所有现有集群设置,模板,管道和ILM策略。
POST /_snapshot/my_backup/snapshot_1/_restore
{
"indices": "index_1,index_2",
"ignore_unavailable": true,
"include_global_state": false,
"rename_pattern": "index_(.+)",
"rename_replacement": "restored_index_$1",
"include_aliases": false
}
六、还原注意事项
还原时可以在正常运行的集群上执行还原操作。但是,仅当现有索引关闭且其分片数量与快照中的索引数量相同时,才能还原该索引。如果已关闭,则还原操作将自动打开已还原的索引;如果集群中不存在快照中的该索引,则会自动创建新的索引。
文章为公众号《醉鱼Java》原创迁移文章,格式错误或者内容过期请及时留言。
WX 搜索《醉鱼Java》,回复面试,获取2024面试资料。
如果这篇文章对您有所帮助或者启发,帮忙点个关注叭,您的支持是我坚持写作的最大动力。
求一键三连:点赞、转发、收藏。
谢谢支持哟 (*^__^*)。
猜你喜欢
- 2024-11-11 Oct 2019 Psychology Industry Snapshot (I)
- 2024-11-11 一次snapshot迁移引发的Hbase RIT(hbase2.1.0-cdh6.3.0)
- 2024-11-11 mac截图工具推荐:Screen Snapshot mac版
- 2024-11-11 maven发布jar包到nexus(maven将jar包打包到本地仓库中)
- 2024-11-11 maven依赖冲突以及解决方法(maven依赖冲突原则)
- 2024-11-11 心理行业速递》| 2019.10上 Psychology Industry Snapshot(下)
- 2024-11-11 为什么SpringBoot的 jar 可以直接运行?
- 2024-11-11 Physical Standby 和Snapshot Standby相互转换
- 2024-11-11 VR射击游戏《Snapshot VR》EA版本即将上线Steam
- 2024-11-11 Maven无法拉取SNAPSHOT依赖的解决办法
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)