elasticsearch(ES)数据迁移

 

一、安装elasticdump

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

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.1.100:9200/nginxlog* --output /root/nginx-map.json --type=mapping

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

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

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

elasticdump --input http://192.168.1.100:9200/ --output http://192.168.1.200:9210/ --all=true

 

常用命令

# 验证查看迁移的数据
curl http://192.168.0.204:9210/_cat/indices?

# 账号密码认证, 批量关闭索引
curl -u elastic:zls@#188poi -X POST "192.160.0.204:9220/filebeat-*,other-index-*/_close"

 

 

 

posted @ 2025-07-29 17:51  王竹笙  阅读(28)  评论(0)    收藏  举报