首页 > 其他分享 >【ElasticSearch】数据迁移方案

【ElasticSearch】数据迁移方案

时间:2023-11-17 10:23:11浏览次数:30  
标签:方案 -- 索引 default ElasticSearch es 迁移 logstash ES

一、需求背景

ES环境要从单机迁移到集群上面

现在已有的数据也要搬过去,有几个索引三四千万数据大概

二、实现方案

有两种,使用ElasticDump和LogStash的ES插件

1、ElasticDump迁移工具

相关资料

资料参考:
https://blog.csdn.net/weixin_43833817/article/details/110387932
https://zhuanlan.zhihu.com/p/489364187
脚本编写帮助参考:
https://blog.csdn.net/qq_39680564/article/details/118539979
官方NPM文档:
https://www.npmjs.com/package/elasticdump

 

下载安装迁移工具,windows 和linux无限制

npm install elasticdump -g

 

几个重要参数:

1、读取 + 写入 目标地址或者目标索引
--input
                    Source location (required)
--input-index
                    Source index and type
                    (default: all, example: index/type)
--output
                    Destination location (required)
--output-index
                    Destination index and type
                    (default: all, example: index/type)

2、指定每批次最大传输的文档对象数量
--limit
                    How many objects to move in batch per operation
                    limit is approximate for file streams
                    (default: 100)

3、指定读写的端口
--inputSocksPort, --outputSocksPort
                    Socks5 host port

--inputSocksProxy, --outputSocksProxy
                    Socks5 host address

4、强制版本?
--force-os-version
                    Forces the OpenSearch version used by elasticsearch-dump.
                    (default: 7.10.2)
5、处理版本?
--handleVersion
                    Tells elastisearch transport to handle the `_version` field if present in the dataset
                    (default : false)

6、是否忽略读写错误
--ignore-errors
                    Will continue the read/write loop on write error
                    (default: false)
--ignore-es-write-errors
                    Will continue the read/write loop on a write error from elasticsearch
                    (default: true)

6、帮助页面
--help
                    This page

7、重试次数与重试延迟时限
--retryAttempts
                    Integer indicating the number of times a request should be automatically re-attempted before failing
                    when a connection fails with one of the following errors `ECONNRESET`, `ENOTFOUND`, `ESOCKETTIMEDOUT`,
                    ETIMEDOUT`, `ECONNREFUSED`, `EHOSTUNREACH`, `EPIPE`, `EAI_AGAIN`
                    (default: 0)
--retryDelay
                    Integer indicating the back-off/break period between retry attempts (milliseconds)
                    (default : 5000)

  

传输命令:

- 无账户密码可不设置

- 注意传输限制到 -limit参数最高只能到查询的上限1万

- 如果不设置索引名称,默认将迁移整个ES过去

elasticdump --input=http://用户:密码@源ES地址/源索引 --output=http://用户:密码@目标ES地址/目标索引 --type=settings
elasticdump --input=http://用户:密码@源ES地址/源索引 --output=http://用户:密码@目标ES地址/目标索引 --type=mapping
elasticdump --input=http://用户:密码@源ES地址/源索引 --output=http://用户:密码@目标ES地址/目标索引 --type=data --limit=10000

  

工具特性分析:

1、方便快捷,只要装了Npm,不限制平台,客户端也能操作

2、应该是基于Http请求调用实现,数据传输量小,百万内的数据迁移时间还可以,千万的时间就很长了

 

2、LogStash的ES插件

关于插件的参数文档,太难找到了:

https://www.elastic.co/guide/en/logstash/7.3/plugins-outputs-elasticsearch.html
https://www.elastic.co/guide/en/logstash/7.3/plugins-inputs-elasticsearch.html

 

下载安装LogStash,需要部署在服务端

wget https://artifacts.elastic.co/downloads/logstash/logstash-7.3.2.tar.gz

解压放到目录中

# 解压Logstash包
tar -xf logstash-7.3.2.tar.gz

# 创建存放目录
mkdir /home/es

# 移动logstash到存放目录
mv logstash-7.3.2 /home/es/

# 重命名logstash目录
cd /home/es/
mv logstash-7.3.2/ logstash

 

LogStash只负责传输数据,索引不存在时会按ES默认配置新建

所以要保持源ES的索引配置,需要手动先在目标ES上建好

获取索引的配置信息:GET /索引名称/_settings?pretty
获取索引的Mapping信息:GET /索引名称/_mapping?pretty


在目标ES上配置索引
PUT /索引名称
{  
  "settings": {  
    "number_of_shards" : "8",
    "number_of_replicas" : "1"
  },
  "mappings" : {
    "properties" : { ... }
  }
}

 

编写迁移配置文件 xxx.conf:

vim /home/es/logstash/config/xxxx.conf

配置内容:

input{
    elasticsearch{
        hosts => ["源ES的IP地址:端口号"]
        index => "索引名称"
        user => "源ES用户名"  
        password => "源ES密码"  
    }
}

output{
    elasticsearch{
        hosts => ["目标集群ES的IP地址:端口号", "集群节点2", "集群节点3", ...]
        index => "索引名称"
        user => "集群ES用户名"  
        password => "集群ES用户密码"  
    }
}

 

迁移执行,指定迁移配置参数:

/home/es/logstash/bin/logstash -f /home/es/logstash/config/xxxx.conf --path.logs /home/es/logstash/logs/xxxx --path.data /home/es/logstash/data/xxxx

传输时不会打印传输信息,传输完毕时显示Logstash执行结束

 

工具特性分析:

1、一般来说是ELK一个整体,一定是在服务端部署的

2、传输速度快,支持千万级数据量

3、只负责传数据,索引本身是不管的,要手动去建好索引

 

标签:方案,--,索引,default,ElasticSearch,es,迁移,logstash,ES
From: https://www.cnblogs.com/mindzone/p/17838066.html

相关文章

  • 基于stm32H730的解决方案开发之freertos系统解析
    一概述在嵌入式小系统领域,freertos是一个非常厉害的角色。它和小芯片结合,能迸发出非常大的威力。这里在H730上使用了这个freertos,是应该做一个总结和备忘。二实例解析1线程初始化:freertos最大的优势就是多任务,所以,多线程非常重要,怎么定义一个线程呢?下面给出一......
  • 运用xtrabackup异机迁移单库
    文档课题:运用xtrabackup异机迁移单库.数据库:mysql5.7.21innobackupex版本:2.4.12innobackupex安装包:percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm节点1:192.168.133.111+mysql-leo-master节点2:192.168.133.112+mysql-leo-slave1、测试数据确认--节点1数据.mysql>s......
  • 如果VLAN间有了互访的需求,那该如何实现呢?(华为华三主流解决方案)
    作者:网络之路一天 首发公众号:网络之路博客(ID:NetworkBlog)单臂路由的形式虽然解决了VLAN间互通的问题,但是呢,里面存在几个比较明显的弊端。由于早期的路由器只有两个接口,所以只能一根线接到一个二层交换机上面,造成了路径是次优的,比如client2要去Server的流量,它是先从核心交换机到出......
  • 多重匹配解决方案的证明
    1.拆点首先对原图的任意一个匹配,显然可以在新图中找到对应的匹配(当然不止一种)而新图的任意一个匹配,我们先将其进行标准化,具体来说,对原图中\(j\)拆成的若干个节点,他们在新图中的连边全部往前面放,并且按照左部节点的顺序大小排序(见下),根据鸽巢原理,肯定能找到原图......
  • Redis 缓存系统常见问题及解决方案(缓存击穿,缓存穿透,缓存雪崩)
    1、缓存穿透缓存穿透指当用户在Redis缓存系统执行一条无效查询时,这条无效查询将穿透Redis缓存系统并向MySQL数据库请求数据,而MySQL数据库也获取不到数据。黑客可以利用缓存穿透原理,恶意执行大量无效查询,这将会对MySQL数据库的访问造成很大的压力解决方法:1、缓存......
  • 基于stm32H730的解决方案开发之点亮第一个LED灯
    一概述STM32H730超值系列内含Arm®Cortex®-M7内核(具有双精度浮点单元),工作频率可达550MHz。内嵌的128KB闪存使意法半导体能够为开发人员提供一种经济划算的解决方案。凭借着高主频,高性能以及低成本。这颗料注定会成为一个网红产品。笔者最近有几款产品用到了该芯片,借此机会......
  • 华为智能供应链ISC+服务变革规划方案 P71
    本人在四大咨询机构从事咨询工作多年,二十年一线数字化规划咨询经验,提供制造业数智化转型规划服务,顶层规划/企业架构/数据治理/数据安全解决方案资料干货.该PPT共73页,由于篇幅有限,以下为部分资料,如需完整原版 方案,点击关注下方。本文来源于网络,侵权立删。华为ISC+服务变革规划方案......
  • 双十一快递业务量暴增,快递驿站视频智能监控方案保障快递业务顺利开展
    一、背景分析虽然刚刚过去的双十一电商购物狂潮结束,但是快递业务量仍处在高峰期。据数据统计,今年全国邮政快递企业在11月11日当天共揽收快递包裹6.39亿件,是平日业务量的1.87倍,同比增长15.76%。随着电商购物节的不断增多,快递行业的业务量也逐渐上涨,为保障快递配送业务的正常进行、让......
  • 双十一快递业务量暴增,快递驿站视频智能监控方案保障快递业务顺利开展
    一、背景分析虽然刚刚过去的双十一电商购物狂潮结束,但是快递业务量仍处在高峰期。据数据统计,今年全国邮政快递企业在11月11日当天共揽收快递包裹6.39亿件,是平日业务量的1.87倍,同比增长15.76%。随着电商购物节的不断增多,快递行业的业务量也逐渐上涨,为保障快递配送业务的正常进行、......
  • 振弦传感器表面应变计与振弦采集仪形成岩土工程监测的解决方案
    振弦传感器表面应变计与振弦采集仪形成岩土工程监测的解决方案振弦传感器表面应变计与振弦采集仪可以结合使用,形成岩土工程监测的解决方案。具体的方案包括以下几个步骤: 1.安装振弦传感器表面应变计:首先需要在需要监测的岩土结构表面安装振弦传感器表面应变计。这个过程需要......