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学习问题记录——Invalid shift value in prefixCoded bytes (is encoded value really an INT?)(代码片段