elasticsearch(ES)日志迁移

Posted straycats

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elasticsearch(ES)日志迁移相关的知识,希望对你有一定的参考价值。

===============================================

 2018/7/29_第1次修改                       ccb_warlock

 

===============================================

    elasticsearch(ES)作为ELK的一部分,经常用于日志记录与统计。最近遇到需要迁移日志从旧环境到新环境,试验后发现elasticdump可以实现这个数据同步的部分(可以实现不同版本的ES数据同步)。

    elasticdump虽然迁移数据的速度不算快,但是可以根据索引和数据单独进行同步。

 


 一、前提条件

  • 旧ES的IP:192.168.12.1,新ES的IP:192.168.12.2

 


 二、安装elasticdump

 # 获取epel包

yum install -y wget
cd
wget http://mirrors.ustc.edu.cn/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm

 

 # 安装epel

rpm -ivh epel-release-7-11.noarch.rpm

 

 # 安装nodejs

yum install -y nodejs

 

 # 安装elasticdump(当前最新3.3.18)

npm install elasticdump

 

 # 创建elasticdump的软连接

ln -s /root/node_modules/elasticdump/bin/elasticdump  /usr/bin/elasticdump

 

 # 检查安装的版本

elasticdump --help

技术分享图片

 


 三、迁移

 # 将旧的ES的匹配nginxlog的索引信息导入到本地/root/nginx-map.json文件内

elasticdump --input http://192.168.12.1:9200/nginxlog* --output /root/nginx-map.json --type=mapping

 

 # 将旧的ES的匹配nginxlog的数据信息导入到本地/root/nginx-data.json文件内

elasticdump --input http://192.168.12.1:9200/nginxlog* --output /root/nginx-data.json --type=data

 

 # 将旧的ES的所有日志(索引、数据)导入到新的ES內

elasticdump --input http://192.168.12.1:9200/ --output http://192.168.12.2:9200/ --all=true

 

 


 参考资料:

1. https://www.npmjs.com/package/elasticdump

2. https://blog.csdn.net/u014017121/article/details/52160394

3. https://www.cnblogs.com/SapphireCastle/p/6395141.html

 

 

以上是关于elasticsearch(ES)日志迁移的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch笔记九之优化

elasticsearch 数据迁移

ElasticSearch学习问题记录——Invalid shift value in prefixCoded bytes (is encoded value really an INT?)(代码片段

ElasticSearch数据迁移

ElasticSearch 索引设计指南

[elasticsearch]ES迁移笔记