elasticsearch 索引数据快照备份和恢复
admin
2023-03-01 09:42:14
0

最近线上的ES集群埋点数据量暴涨,机器的内存磁盘空间眼看就要炸了。但这部分数据又是冷数据,现时不需要查询,但又不能直接delete,需保留日后数据分析。由于前期急于上线,业务代码没有合理分配索引按月切割,全年数据丢进单个索引,导致单索引数据暴涨到100G+
为解决磁盘空间的瓶颈,针对不常用的分片数据,做快照冷存储。
应用场景:
三节点的ES集群:192.168.85.39 ,192.168.85.36,192.168.85.33

找一台有磁盘空间的服务器,搭建NFS,用于共享目录挂载。已192.168.85.63为例

应用场景:ES集群三节点 192.168.85.39,192.168.85.33,192.168.85.36
NFS存储服务器:192.168.5.63

一.搭建NFS共享存储服务器 (5.63上操作)

1.安装 nfs服务  
yum install -y nfs-utils

2. 开机启动
systemctl enable rpcbind.service
systemctl enable nfs-server.service

3.  分别启动rpcbind和nfs服务:
systemctl start rpcbind.service
systemctl start nfs-server.service

4.firewalld 防火墙针对es节点内网ip开放NFS服务监听端口:
111 udp端口    20048 tcp端口    2049 tcp 和 udp全开

5.创建本地数据共享目录 并设置权限  
mkdir /data/db/elasticsearch/backup
chmod 777 /data/db/elasticsearch/backup
chown -R elasticsearch:elasticsearch /data/db/elasticsearch/backup

6.配置NFS目录访问权限
vim etc/exports
/data/db/elasticsearch/backup 192.168.85.39(rw,sync,all_squash)     192.168.85.33(rw,sync,all_squash) 192.168.85.36(rw,sync,all_squash)
exports -r //生效
exports -s //查看

7.es节点上安装客户端(85.39 85.33 85.36 上操作)
     yum -y install showmount
开启服务:
     systemctl enable rpcbind.service
     systemctl start rpcbind.service
8.创建挂载目录(85.39 85.33 85.36 上分别操作)
mkdir /mnt/elasticsearch
chmod 777 elasticsearch

挂载共享目录到本地
mount -t nfs 192.168.5.63:/data/db/elasticsearch/backup  /mnt/elasticsearch

df -h //查看确认是否成功挂载

二.创建快照仓库

curl -XPUT http://192.168.85.39:9002/_snapshot/backup -d'
{
"type": "fs",
"settings": {
"location": "/mnt/elasticsearch/backup",
"compress": true,
"max_snapshot_bytes_per_sec" : "50mb",
"max_restore_bytes_per_sec" : "50mb"
}
}'

备注说明:
1.可在es任一节点操作
2.backup: 指定仓库名称为backup  ,生成的备份文件存放路径为/mnt/elasticsearch/backup
3.max_snapshot_bytes_per_sec,max_restore_bytes_per_sec 限定备份和恢复的数据字节内容大小为50mb,
为了防止磁盘IO过高。数值越大,备份恢复速度越快。50mb为推荐值,IO性能高的机器可不限制

curl -XPUT http://192.168.85.39:9002/_snapshot/backup -d '
{
    "type": "fs",
    "settings": {
        "location": "/mnt/elasticsearch/backup",
        "compress": true
    }
}'

三.创建快照备份
1.针对全索引快照备份

curl -XPUT 192.168.85.39:9002/_snapshot/backup/snapshot_all?pretty

备注说明:
1.指定备份到仓库backup
2.快照名称为 snapshot_all

2.针对指定某个单独索引快照备份(为了区分不同索引备份目录,建议仓库用索引名称命名)

单独快照备份user_event_201810这个索引
2.1先针对索引创建仓库
curl -XPUT http://192.168.85.39:9002/_snapshot/user_event_201810 -d'
{
"type": "fs",
"settings": {
"location": "/mnt/elasticsearch/user_event_201810",
"compress": true,
"max_snapshot_bytes_per_sec" : "50mb",
"max_restore_bytes_per_sec" : "50mb"
}
}'

2.2 快照备份索引user_event_201810操作
curl -XPUT http://192.168.85.39:9002/_snapshot/user_event_201810/user_event_201810?wait_for_completion=true -d '
{
"indices":"user_event_201810",
"ignore_unavailable": "true",
"include_global_state": false
}'

备注说明:
1.创建的仓库名为user_event_201810
2.存放的文件目录为/mnt/elasticsearch/user_event_201810
3.indices:指定索引源为user_event_201810
4.增加?wait_for_completion=true参数是为了执行完成返回结果状态

四.恢复快照备份数据到es集群
1.针对全索引快照备份的恢复操作

curl -XPOST http://192.168.85.39:9200/_snapshot/backup/snapshot_all/_restore

备注说明:
1.指定仓库名称backup
2.指定快照备份名称snapshot_all

2.针对某个指定索引的快照备份恢复操作

针对索引user_event_201810快照恢复
curl -XPOST http://192.168.85.39:9002/_snapshot/user_event_201810/user_event_201810/_restore

备注说明:
1.指定仓库名称user_event_201810
2.指定快照备份名称user_event_201810

五:辅助操作命令
1.查看已存在仓库

curl 192.168.85.39:9002/_cat/repositories?

2.查看已存在快照

curl -XGET http://192.168.85.39:9002/_snapshot?   //查看全部
curl -XGET http://192.168.85.39:9002/_snapshot/user_event_201810/user_event_201810//查看指定索引

3.删除快照

curl -XDELETE http://192.168.85.39:9002/_snapshot/user_event_201810/user_event_201810
//删除快照user_event_201810

4.删除仓库

curl -XDELETE http://192.168.85.39:9002/_snapshot/user_event_201810
//删除仓库user_event_201810

elasticsearch其中一节点配置文件

cluster.name: my-application1
node.name: node-3
path.data: /data/db/elasticsearch
path.logs: /data/log/elasticsearch/logs
path.repo: ["/mnt/elasticsearch"]
network.host: 192.168.85.33
http.port: 9002
transport.tcp.port: 9102
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["192.168.85.39:9102","192.168.85.36:9102","192.168.85.33:9102"]
discovery.zen.minimum_master_nodes: 2
indices.query.bool.max_clause_count: 10240
http.cors.enabled: true
http.cors.allow-origin: "*"

NFS
mount -t nfs 192.168.5.63:/data/db/elasticsearch/backup /mnt/elasticsearch

相关内容

热门资讯

今日重大发现“九九山城麻将.辅... 网上科普关于“九九山城麻将有没有挂”话题很是火热,小编也是针对九九山城麻将作*弊开挂的方法以及开挂对...
最新引进“上海明星麻将.是不是... 有 亲,根据资深记者爆料上海明星麻将是可以开挂的,确实有挂(咨询软件无需...
玩家最新攻略“阳光巴厘岛.有没... 家人们!今天小编来为大家解答阳光巴厘岛透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买...
今日重大通报“大庆划水麻将.怎... 家人们!今天小编来为大家解答大庆划水麻将透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里...
玩家攻略科普“欢乐龙城9.究竟... 您好:欢乐龙城9这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款游...
终于明白“青松游戏.真的有挂吗... 您好:青松游戏这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏...
【第一资讯】“火神牛牛.怎么开... 有 亲,根据资深记者爆料火神牛牛是可以开挂的,确实有挂(咨询软件无需打开...
今日重大消息“大庆划水麻将.有... 网上科普关于“大庆划水麻将有没有挂”话题很是火热,小编也是针对大庆划水麻将作*弊开挂的方法以及开挂对...
今日重大通报“同城跑胡子.到底... 网上科普关于“同城跑胡子有没有挂”话题很是火热,小编也是针对同城跑胡子作*弊开挂的方法以及开挂对应的...
【第一消息】“灯塔麻将.辅助开... 家人们!今天小编来为大家解答灯塔麻将透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买很...