Elasticsearch集群的数据备份和迁移 – snapshot快照
背景 :
docker版的ES7集群 (集群搭建 见文章 ELK合集持续更新(十五):ELK所有部署与集成)
已安装Kibana
ES数据备份到HDFS文件系统 (默认 已有现成的HDFS可用)
再从HDFS恢复数据到任一ES7集群 (当前的集群 和跨集群 分别演示)
snapshot概述
snapshot 可以将ES集群的状态和数据 存储到一个外部文件系统(例如 HDFS)
首次备份是全量备份 之后增量备份
操作
0.安装repository-hdfs插件 (每个节点操作)
方式一 (慢 不用)
ES命令安装远程插件
$ ./bin/elasticsearch-plugin install repository-hdfs
重启集群
方式二
下载插件包 版本和ES一致
# 浏览器访问
https://artifacts.elastic.co/downloads/elasticsearch-plugins/repository-hdfs/repository-hdfs-7.2.0.zip
上传到Linux服务器
cp到docker中/usr/share/elasticsearch/bin/下
docker命令安装本地插件包
$ cd /usr/share/elasticsearch
$ .bin/elasticsearch-plugin install file:///usr/share/elasticsearch/bin/repository-hdfs-7.2.0.zip
1.验证安装成功
重启ES容器
# 操作每个节点
$ docker restart 容器ID
查看插件列表
# 浏览器访问
http://10.255.175.240:9200/_cat/plugins?v
2.创建备份仓库
ES数据的备份需要 存储在一个地方 这里存储在了HDFS文件系统上 ES自动将备份数据放在HDFS中的自定义目录(指定目录就是备份仓库了) 需要先创建这个目录 并给es用户附权限使可操作这个目录
在HDFS中创建目录并附权限
# 进入HDFS主机终端
# 切换到hdfs用户
$ su hdfs
# 创建目录
$ hdfs dfs -mkdir /es7_repository
# 给/es7_repository目录附es用户权限 (docker中默认es用户和组是elasticsearch)
$ hdfs dfs -chown -R elasticsearch:elasticsearch /es7_repository
查看效果