elasticdump:es批量索引迁移心得

这篇具有很好参考价值的文章主要介绍了elasticdump:es批量索引迁移心得。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.方法介绍

1.1一行代码看懂用法

1.2导出源数据的 settings、mapping 、data

1.3将导出的数据文件导入至目标索引

1.4从数据源直接导入到目标集群


1.方法介绍

1.1一行代码看懂用法

elasticdump --input <源数据> --output <目标数据> --type=<数据类型>

1.2导出源数据的 settings、mapping 、data

1.2.1:导出源数据索引的 settings文件

elasticdump --input http://账号:密码@localhost:9213/test_index 
--output /Users/wu/Desktop/test_index_settings.json --type=settings

2:导出源数据索引的 mapping文件

elasticdump --input http://账号:密码@localhost:9213/test_index 
--output /Users/wu/Desktop/test_index_mapping.json --type=mapping

3:导出源数据索引的 data文件

elasticdump --input http://账号:密码@localhost:9213/test_index 
--output /Users/wu/Desktop/test_index.json --type=data

1.3将导出的数据文件导入至目标索引

1:导入 settings 至目标索引

elasticdump --input /Users/wu/Desktop/test_index_mapping.json 
--output http://账号:密码@localhost:9200/ --type=settings

2:导入mapping至目标索引

elasticdump --input /Users/wu/Desktop/test_index_mapping.json
--output http://localhost:9200/ --type=mapping

3:导入data至目标索引

elasticdump --input /Users/wu/Desktop/test_index_mapping.json 
--output http://账号:密码@localhost:9200/ --type=data

1.4从数据源直接导入到目标集群

1:迁移settings

elasticdump --input http://账号:密码@localhost:9213/test_index 
--output http://账号:密码@localhost:9200/ --type=settings

2:迁移mapping

elasticdump --input http://账号:密码@localhost:9213/test_index 
--output http://账号:密码@localhost:9200/ --type=mapping

3:迁移data

elasticdump --input http://账号:密码@localhost:9213/test_index 
--output http://账号:密码@localhost:9200/ --type=data

1.5elasticdump导入导出批量索引

事情是这样的,一开始使用正常到elasticdump导入索引。命令如下:

elasticdump --input http://账号:密码@localhost:9213/test_index 
--output http://账号:密码@localhost:9200/

索引导入了一部分报错。504 Gateway Time-out错误。无法继续导入,es库查询也很有问题。应该是压力过大导致。

然后通过正常elasticdump导入导出单个索引,通过shell命令去循环遍历原库所有索引进行操作。

#! /bin/bash

#txt_sy=`cat /opt/es_data/ba/abcd |awk -F 'log-' '{print $2}' |awk -F ' ' '{print $1}' |tr -s '\n'|awk -F '.' '{print $1}'`
txt_sy=`cat /opt/es_data/ba/abc`
for sy in $txt_sy ; do


elasticdump --limit=10000 --type=settings  --input=http://admin:aLi_esPassadm356@elasticsearch.20191217074602572gtsj6s1.cn-langfang-mps22s-d01-inner.odps.ops.yun.ga:9200/idx_bus_request_service_log-$sy --output=http://elastic:aLi_esPassadm356@gxpt.kexinju-shehuichu-gxpt.ops.yun.ga:9200/idx_bus_request_service_log-$sy 

elasticdump --limit=10000 --type=mapping --input=http://admin:aLi_esPassadm356@elasticsearch.20191217074602572gtsj6s1.cn-langfang-mps22s-d01-inner.odps.ops.yun.ga:9200/idx_bus_request_service_log-$sy --output=http://elastic:aLi_esPassadm356@gxpt.kexinju-shehuichu-gxpt.ops.yun.ga:9200/idx_bus_request_service_log-$sy 


elasticdump --limit=1000 --input=http://admin:aLi_esPassadm356@elasticsearch.20191217074602572gtsj6s1.cn-langfang-mps22s-d01-inner.odps.ops.yun.ga:9200/idx_bus_request_service_log-$sy --type=data --output=http://elastic:aLi_esPassadm356@gxpt.kexinju-shehuichu-gxpt.ops.yun.ga:9200/idx_bus_request_service_log-$sy 

done

注:--type=settings 不要写在变量后面。否则有问题

abc文件内容

2020-12-31
2021-01-02
2021-01-03
2021-01-04
2021-01-05
2021-01-06
2021-01-07
2021-01-08
2021-01-09
2021-01-10
2021-01-11
2021-01-12
2021-01-13
2021-01-14
2021-01-15
2021-01-16
2021-01-17
2021-01-18

注:abc文件里面内容一般会用 /R或者/WR这些,使用如下图命令进行转换。具体介绍

批量将目录下所有文件进行 dos/unix 格式转换_LeocenaY的博客-CSDN博客_set ff=dos文章来源地址https://www.toymoban.com/news/detail-481392.html

vim 文件
:set ff=uninx

到了这里,关于elasticdump:es批量索引迁移心得的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • elasticsearch数据迁移之elasticdump

    第一章 es集群搭建 第二章 es集群基本操作命令 第三章 es基于search-guard插件实现加密认证 第四章 es常用插件 在企业实际生产环境中,避免不了要对es集群进行迁移、数据备份与恢复,以此来确保数据的可用性及完整性。因此,就涉及到了数据备份与恢复。本章主要以elasticdump工

    2024年04月27日
    浏览(30)
  • ElasticSearch 数据迁移工具elasticdump

    Elasticdump 是一个用于导入和导出 Elasticsearch 数据的命令行工具。它提供了一种方便的方式来在不同的 Elasticsearch 实例之间传输数据,或者进行数据备份和恢复。 使用 Elasticdump,你可以将 Elasticsearch 索引中的数据导出为 JSON 文件,或者将 JSON 文件中的数据导入到 Elasticsearch 索引

    2024年02月16日
    浏览(44)
  • Elasticsearch Dump的详细安装和迁移es索引和数据的使用教程

    如果希望将数据导出到本地文件而不是通过编程方式处理,可以考虑使用Elasticsearch的导出工具,如 Elasticsearch Dump (Elasticdump)或 Elasticsearch Exporter 。这些工具可以将Elasticsearch索引中的数据导出为可用于后续处理的文件格式,如JSON或CSV,本文主要介绍使用Elasticsearch Dump进行索

    2024年02月14日
    浏览(49)
  • Spring Boot Elasticsearch7.6.2实现创建索引、删除索引、判断索引是否存在、获取/添加/删除/更新索引别名、单条/批量插入、单条/批量更新、删除数据、递归统计ES聚合的数据

    注意:我的版本是elasticsearch7.6.2、spring-boot-starter-data-elasticsearch-2.5.6 引入依赖 有时候你可能需要查询大批量的数据,建议加上下面配置文件

    2024年02月13日
    浏览(70)
  • Docker数据目录迁移方法

    服务器上安装的docker服务,数据默认存储在/var/lib/docker目录,由于该目录在系统盘,随时间时间的推移,docker占用的空间越来越大,最把系统盘挤用的只剩下的1G,很容易磁盘100%,想着把docker占用的目录迁移到非系统盘目录,想着就立即动手 启动 Docker 之后,Docker 写入的路径

    2024年02月10日
    浏览(48)
  • [mysql]数据迁移之data目录复制方法

    1、简述: mysql数据迁移有多种方式,最常见的就是先把数据库导出,然后导入新的数据库。拷贝数据目录data是另外一种方式。 尤其是当数据库启动不了,或者大型数据库迁移的时候,可以考虑这个方式。 2、场景: 从老的mysql( mysqlA )迁移到新的mysql( mysqlB )。mysqlA对应

    2024年02月15日
    浏览(44)
  • 使用elasticdump实现es数据导入导出示例(持续更新中)

    Elasticdump是一个命令行工具,可用于将数据从Elasticsearch导出到JSON文件,以及将JSON文件导入到Elasticsearch中。以下是一个简单的示例,演示如何使用Elasticdump实现数据导入导出: 您可以使用npm命令在命令行中安装Elasticdump。(npm请自行安装。)例如,使用以下命令安装最新版本

    2023年04月11日
    浏览(40)
  • “更新查询超时时间“——优化ES索引更新性能的方法

    “更新查询超时时间”——优化ES索引更新性能的方法 在实际运用中,Elasticsearch (ES) 索引上的数据不可避免的需要进行更新操作。而update_by_query API 是一个十分强大的ES 更新功能工具,可以应对各种复杂的更新需求。然而,在进行高负载的大数据量操作时,update_by_query 会产生

    2024年02月03日
    浏览(47)
  • ElasticSearch 实战:ES查询索引文档的6种方法

    在Elasticsearch中,查询索引文档的方法多种多样,这里列举了6种常见的查询方法,其中包括: 简单查询(String Query) 这是最基本的全文搜索,只需在URL后面附加查询字符串即可。例如,对索引 my_index 中的所有文档执行模糊匹配查询: Match Query 类似于简单查询,但提供了更多的

    2024年04月12日
    浏览(43)
  • ElasticSearch|ES 快速批量查询 doc 的 _id 的方法

    已更新整合到新文章:https://dataartist.blog.csdn.net/article/details/130139631 比较慢的查询方法:如果使用如下 body 查询 ES 索引中内容的话,实际上应该会遍历索引中所有字段,如果字段内容很长的话,速度会比较慢: 结果形如: 比较快的查询方法:如果使用如下 body 查询 ES 索引中

    2024年02月14日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包