通过curl命令或者kibana快照备份,恢复的方式进行数据迁移
环境介绍
  之前创建的ELK 因为VPC环境的问题,需要对ELK从新部署,但是还需要保留现有的数据,于是便有了这篇文档。
10.0.20.74 old es
10.0.10.229 new es

方法一、命令行操作

一、创建快照存储库

1.修改老的es配置文件,用于快照存储库。

[root@elk-server /home]# cat /etc/elasticsearch/elasticsearch.yml |grep  path.repo
path.repo: /home/esdata
如果你也是集群模式的话 必须要创建并挂载共享目录

2、分配权限并重启es

[root@elk-server /home]# chown -R elasticsearch:elasticsearch  esdata
[root@elk-server /home]# systemctl restart elaseicesarch
[root@elk-server /home]# ll |grep esdata
drwxr-xr-x 3 elasticsearch elasticsearch 134 Jun 8 08:13 esdata

3、创建ES本地存储库

curl -XPUT -uxuewenlong:bsh@123  http://10.0.20.74:9200/_snapshot/my_back -H "Content-Type: application/json"  -d '
{
"type": "fs",
"settings": {
"location": "/home/esdata/", #存储库位置,要和配置文件里一致用户组是es
"max_restore_bytes_per_sec":"10mb", #恢复最大速率
"compress":"true", #是否压缩
"max_snapshot_bytes_per_sec":"10mb", #创建最大速率
"chunk_size":"100mb" #压缩块大小
}
}'

4、验证存储库

curl -XGET -uxuewenlong:bsh@123 http://10.0.20.74:9200/_snapshot/
{
"my_back": {
"type": "fs",
"settings": {
"chunk_size": "100M",
"location": "/home/esdata/",
"max_restore_bytes_per_sec": "10mb",
"compress": "true",
"max_snapshot_bytes_per_sec": "10mb"
}
}
}

二、备份索引

1、备份指定的索引

curl -XPUT -uxuewenlong:bsh@123 http://10.0.20.74:9200/_snapshot/my_back/esdata?wait_for_completion=true -H "Content-Type: application/json"  -d '
{
"indices": "miniprogram-prod*" #写入需要备份的索引,多个所以以,分隔 如"index1,index2" 支持正则
}'

2、备份当前库所有索引

curl -XPUT -uxuewenlong:bsh@123 http://10.0.20.74:9200/_snapshot/my_back/esdata?wait_for_completion=true -H "Content-Type: application/json"

3、验证备份快照

curl -XGET -uxuewenlong:bsh@123 http://10.0.20.74:9200/_snapshot/my_back/esdata
{
"snapshots": [{
"snapshot": "esdata",
"uuid": "t3BNDuiCRwK_uAIz71RCbQ",
"version_id": 7050099,
"version": "7.5.0",
"indices": ["miniprogram-prod-aspect-az.log.2020.01", "miniprogram-prod-aspect-az.log.2020.03", "miniprogram-prod-aspect-az.log.2020.06", "miniprogram-prod-access-az.log.2019.12", "miniprogram-prod-aspect-az.log.2020.02", "miniprogram-prod-aspect-bz.log.2020.02", "miniprogram-prod-access-az.log.2020.06", "miniprogram-prod-aspect-az.log.2020.05", "miniprogram-prod-aspect-az.log.2020.04", "miniprogram-prod-access-az.log.2020.04", "miniprogram-prod-access-az.log.2020.03", "miniprogram-prod-aspect-bz.log.2020.05", "miniprogram-prod-access-az.log.2020.01", "miniprogram-prod-access-az.log.2020.05", "miniprogram-prod-access-bz.log.2020.03", "miniprogram-prod-aspect-bz.log.2020.04", "miniprogram-prod-access-bz.log.2020.06", "miniprogram-prod-aspect-bz.log.2020.03", "miniprogram-prod-access-bz.log.2020.02", "miniprogram-prod-access-az.log.2020.02", "miniprogram-prod-aspect-bz.log.2020.01", "miniprogram-prod-access-bz.log.2020.01", "miniprogram-prod-access-bz.log.2020.05", "miniprogram-prod-access-bz.log.2020.04", "miniprogram-prod-aspect-bz.log.2020.06"],
"include_global_state": true,
"metadata": {
"policy": "miniesdata"
},
"state": "SUCCESS",
"start_time": "2020-06-08T07:48:00.006Z",
"start_time_in_millis": 1591602480006,
"end_time": "2020-06-08T08:01:57.507Z",
"end_time_in_millis": 1591603317507,
"duration_in_millis": 837501,
"failures": [],
"shards": {
"total": 25,
"failed": 0,
"successful": 25
}
}]
}

三、迁移到新的es集群中

[root@elk-server /home]# zip -r esdata.zip  esdata
[root@elk-server /home]# scp /home/esdata.zip xuewenlong@10.0.10.229:/home

1、登录新es集群操作

解压es数据,分配权限

[root@ip-10-0-10-229 home]# unzip  esdata.zip
[root@ip-10-0-10-229 home]# ll
drwxr-xr-x. 9 root root 115 Jun 9 00:58 bsh
drwx------. 3 ec2-user ec2-user 113 Jun 8 08:25 ec2-user
drwxr-xr-x. 3 xuewenlong xuewenlong 134 Jun 9 01:31 esdata
[root@ip-10-0-10-229 home]#chown -R elasticsearch:elasticsearch esdata

2、修改es配置文件

[root@ip-10-0-10-229 home]# cat /etc/elasticsearch/elasticsearch.yml |grep  path.repo
path.repo: /home/esdata

3、创建一样的存储库

**路径以及权限一定要一样

curl -XPUT -uxuewenlong:bsh@123  http://10.0.10.229:9200/_snapshot/my_back -H "Content-Type: application/json"  -d '
{
"type": "fs",
"settings": {
"location": "/home/esdata/", #存储库位置,要和配置文件里一致用户组是es
"max_restore_bytes_per_sec":"10mb", #恢复最大速率
"compress":"true", #是否压缩
"max_snapshot_bytes_per_sec":"10mb", #创建最大速率
"chunk_size":"100mb" #压缩块大小
}
}'

4、验证备份是否存在

curl -XGET -uelastic:bsh@123 http://10.0.10.229:9200/_snapshot/my_back/esdata
"snapshots": [{
"snapshot": "esdata",
"uuid": "t3BNDuiCRwK_uAIz71RCbQ",
"version_id": 7050099,
"version": "7.5.0",
"indices": ["miniprogram-prod-aspect-az.log.2020.01", "miniprogram-prod-aspect-az.log.2020.03", "miniprogram-prod-aspect-az.log.2020.06", "miniprogram-prod-access-az.log.2019.12", "miniprogram-prod-aspect-az.log.2020.02", "miniprogram-prod-aspect-bz.log.2020.02", "miniprogram-prod-access-az.log.2020.06", "miniprogram-prod-aspect-az.log.2020.05", "miniprogram-prod-aspect-az.log.2020.04", "miniprogram-prod-access-az.log.2020.04", "miniprogram-prod-access-az.log.2020.03", "miniprogram-prod-aspect-bz.log.2020.05", "miniprogram-prod-access-az.log.2020.01", "miniprogram-prod-access-az.log.2020.05", "miniprogram-prod-access-bz.log.2020.03", "miniprogram-prod-aspect-bz.log.2020.04", "miniprogram-prod-access-bz.log.2020.06", "miniprogram-prod-aspect-bz.log.2020.03", "miniprogram-prod-access-bz.log.2020.02", "miniprogram-prod-access-az.log.2020.02", "miniprogram-prod-aspect-bz.log.2020.01", "miniprogram-prod-access-bz.log.2020.01", "miniprogram-prod-access-bz.log.2020.05", "miniprogram-prod-access-bz.log.2020.04", "miniprogram-prod-aspect-bz.log.2020.06"],
"include_global_state": true,
"metadata": {
"policy": "miniesdata"
},
"state": "SUCCESS",
"start_time": "2020-06-08T07:48:00.006Z",
"start_time_in_millis": 1591602480006,
"end_time": "2020-06-08T08:01:57.507Z",
"end_time_in_millis": 1591603317507,
"duration_in_millis": 837501,
"failures": [],
"shards": {
"total": 25,
"failed": 0,
"successful": 25
}
}]
}

四.数据恢复到新集群中

1、恢复单条索引

curl -XPOST -uxuewenlong:bsh@123 http://10.0.10.229:9200/_snapshot/my_back/esdata/_restore -H "Content-Type: application/json" -d '
{
"miniprogram-prod*"
}'

2、恢复全部索引

curl -XPOST -uxuewenlong:bsh@123 http://10.0.10.229:9200/_snapshot/my_back/esdata/_restore -H "Content-Type: application/json"

3、删除快照

curl -XDELETE -uxuewenlong:bsh@123  -uxuewenlong:bsh@123 http://10.0.10.229:9200/_snapshot/my_back/esdata/

方法二、kibana操作

1.修改老的es配置文件,用于快照存储库。

[root@elk-server /home]# cat /etc/elasticsearch/elasticsearch.yml |grep  path.repo
path.repo: /home/esdata

一、创建快照存储库

1、在旧的kibana上创建快照存储库

2、在旧的kibana验证存储库

二、创建策略备份索引

1、在旧的kibana创建策略

支持cron定时任务 还是比较方便的
 
 
 

2、在旧的kibana进行数据备份

保存完策略之后点击小按钮就会立马进行备份

3、在旧的kibana备份完查看备份

三、迁移到新的es集群中

1、登陆服务器old es 服务器讲备份数据打包 移至新的es服务器

[root@elk-server /home]# zip -r esdata.zip  esdata
[root@elk-server /home]# scp /home/esdata.zip xuewenlong@10.0.10.229:/home

2、登录新es集群操作解压es数据,分配权限

[root@ip-10-0-10-229 home]# unzip  esdata.zip
[root@ip-10-0-10-229 home]# ll
drwxr-xr-x. 9 root root 115 Jun 9 00:58 bsh
drwx------. 3 ec2-user ec2-user 113 Jun 8 08:25 ec2-user
drwxr-xr-x. 3 xuewenlong xuewenlong 134 Jun 9 01:31 esdata
[root@ip-10-0-10-229 home]#chown -R elasticsearch:elasticsearch esdata

3、在新的kibana创建存储库

4、在新的kibana刷新浏览器 查看恢复快照

 
 
 

5、在新的kibana查看恢复状态

 
 

四、验证es数据

在新的kibana 上创建索引,数据是存在的
至此es数据迁移成功
 

ELK数据迁移,ES快照备份迁移的更多相关文章

  1. elasticsearch-dump 迁移es数据 (elasticdump)

    elasticsearch 部分查询语句 # 获取集群的节点列表: curl 'localhost:9200/_cat/nodes?v' # 列出所有索引: curl 'localhost:9200/ ...

  2. 【Docker】利用数据卷容器来备份、恢复、迁移数据卷

    利用数据卷容器来备份.恢复.迁移数据卷 可以利用数据卷对其中的数据进行进行备份.恢复和迁移. 备份 首先使用 --volumes-from 标记来创建一个加载 dbdata 容器卷的容器,并从主机挂载 ...

  3. ES:在线迁移集群索引,数据不丢失

    一.背景 生产环境由于某些原因需要跨机房迁移ES集群,或者同机房原有集群中所有节点全部更换,期间ES索引要求完整,客户端请求中断不超过五分钟. 二.应用场景 1.同机房不同集群之间数据迁移: 2.跨机 ...

  4. Mysql备份迁移——MySqlBackup(.net)——(无法解决视图嵌视图报错)

    这里是利用MySqlBackup,可以再nuget中下载. 无法解决视图嵌视图报错的问题,只导表跟数据比较合适,如果有视图嵌视图,请参照Mysql备份迁移——Mysqldump(.NET调用Mysql ...

  5. kvm命令总结和虚机器备份迁移

    管理kvm虚拟机命令 virsh uri:                                          查看当前主机上hypervisor的连接路径: virsh connect ...

  6. mongodb数据库备份迁移 windows -> linux

    mongodb数据库备份迁移 windows -> linux cd 到本机mongodb的安装目录 如: C:\Program Files\MongoDB\Server\3.4\bin 可以发 ...

  7. 利用Linode面板Clone克隆搬家迁移不同VPS数据及利用IP Swap迁移IP地址

    在众多海外VPS服务商中,老蒋个人认为Linode提供的VPS方案和性价比还是比较高的,尤其目前基础1GB方案仅需10美元每月且全部是SSD固态硬盘,无论是流量还是硬盘大小,基本上可以满足我们大部分用 ...

  8. es快照和备份

    注册前要注意配置文件加上 path.repo: ["/data/es_backup"] 然后重启es 不然会报错doesn't match any of the locations ...

  9. Docker备份迁移

    目录 Docker备份迁移 1.容器保存为镜像 2.镜像打包成压缩文件 3.把压缩文件恢复成镜像 Docker备份迁移 1.容器保存为镜像 将已经装好各种软件的容器再次打包为镜像,这样下次直接装这个镜 ...

随机推荐

  1. 百度nlp api接口测试

    date:2021/7/8 使用postman测试 网址:https://ai.baidu.com/ 在百度AI首页-开放能力-自然语言处理-语言处理基础技术 点击技术文档 在左侧文档目录选择API参 ...

  2. XMAPP搭建DVWA靶机

    1  环境搭建 XMAPP+DVWA (我在win10下搭的环境) 更改了xmapp中Apache的两个端口号: dvwa/config中密钥和端口号按自己情况填好: dvwa/config中文件改为 ...

  3. Salesforce Integration 概览(五) Remote Call-In(远程操作 外部->salesforce)

    本篇参考:https://resources.docs.salesforce.com/sfdc/pdf/integration_patterns_and_practices.pdf 本篇博客介绍 Re ...

  4. 复杂字符串转List<JSONObject>

    public static List<JSONObject> getlist(String data){ ObjectMapper mapper = new ObjectMapper(); ...

  5. 快速从SQL语法过度到Elasticsearch的DSL语法

    目录 前言 bool-相当于一个括号 should-相当于or must-相当于and must_not-相当于 ! and term-相当于= terms-相当于in between-相当于rang ...

  6. 图 邻接表 邻接矩阵 BFS生成树 DFS生成树

  7. 自己动手实现Lua--实现TAILCALL指令

    最近在看<自己动手实现Lua-虚拟机.编译器和标准库>.这是本挺不错的书,通过学习此书能够对Lua语言有比较深刻的理解,此外还可以对如何自己实现一门脚本语言有直观的认识.对于想学习Lua的 ...

  8. QT从入门到入土(八)——项目打包和发布

    引言 新手上路可谓是困难重重,你永远不知道下一个困难会在什么时候出现,在完成了运动控制卡封装发布过程中可谓是举步维艰.因此记录一下qt5+vs2019的打包发布方法. 打包一般分为两步: 将编译后的e ...

  9. DVWA-全等级暴力破解

    之前写了dvwa的sql注入的模块,现在写一下DVWA的其他实验步骤: 环境搭建参考:https://www.freebuf.com/sectool/102661.html DVWA简介 DVWA(D ...

  10. Java虚拟机漫漫学习路,我终于悟了

    毕业8年,前5年的职业规划是做计算广告,后来感觉计算广告这一行更注重的是业务而非技术,而自己的性格更适合做技术,所以毅然决然的辞职, 全职1年半时间写了2本关于Java编译器与虚拟机的书,今年年初来到 ...