通过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. JMeter Gui – TestElement约定[转]

    转自https://www.cnblogs.com/yigui/p/7615635.html 在编写任何JMeter组件时,必须注意某些特定的约定--如果JMeter环境中正确地运行JMeter组件, ...

  2. synchronized 加锁 this 和 class 的区别!

    synchronized 是 Java 语言中处理并发问题的一种常用手段,它也被我们亲切的称之为"Java 内置锁",由此可见其地位之高.然而 synchronized 却有着多种 ...

  3. vulnhub-DC:5靶机渗透记录

    准备工作 在vulnhub官网下载DC:5靶机DC: 5 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 利用nmap ...

  4. JAVAWEB过滤器、监听器的作用及使用>从零开始学JAVA系列

    目录 JAVAWEB过滤器.拦截器的作用及使用 过滤器Filter 什么是过滤器 为什么要使用过滤器(过滤器所能解决的问题) 配置一个过滤器完成编码的过滤 编写一个EncodingFilter(名称自 ...

  5. 04.委托Delegation

    1. 基本了解 1.1 委托简述 官方文档 委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用,用于将方法作为参数传递给其他方法,可将任何可访问类或结构中与委托类型匹配的任何方法分配给委 ...

  6. 抄书抄博客毒害社区的Writer几时休?

    曾几何时,博客园用户也渐渐分成了两类人:Writer和Coder. 何为Coder?就是认认真真写代码,平时分享工作中的一些问题.好的解决方案,或者写一些实用的原理技术文.答疑解惑的教程技术文. 何为 ...

  7. node溢出

    在做项目的过程中,项目越来越大,后面导致项目无法正常启动,查了原因是因为node 溢出了. 先看看溢出时报的错 解决办法:  increase-memory-limit插件 1.在package.js ...

  8. GPB重磅!浙大李兰娟院士团队修饰多组学研究揭示炎症反应新机制

    炎症 (inflammation) 是机体对致炎因子的损伤所发生的一种以防御反应为主的基本病理过程.翻译后修饰(PTMs)在调节多种炎症信号通路中起着重要作用,如磷酸化(phosphorylation ...

  9. [GXYCTF2019]Ping Ping Ping(ping命令执行绕过Waf)

    记一道ping注入的题.过滤了很多字符. 分析 简单的测了一下,很容易就拿到了flag.php和index.php. 但是存在waf无法直接查看.直接?ip=127.0.0.1|cat flag.ph ...

  10. 35岁Android程序员被阿里辞退,生活压力太大痛哭,中年危机如何自救?

    多数人都喜欢安逸的生活,尤其是随着年龄的增长,很多人都希望工作和生活趋于稳定,不愿意再让生活有很大的变动.可是,当达到一定的年龄时,危机还是存在的. 之前有一位阿里员工在脉脉上,晒出了自己被辞退的经历 ...