当前位置: 首页 > article >正文

Elasticsearch-数据迁移elasticdump

一、环境信息 

主机名        IP
elasticsearch-master10.10.10.1
elasticsearch-slave10.10.10.2

二、互联网部分

2.1、Nodejs下载安装(master节点)

#官网:Download | Node.js

#下载nodejs包
[root@elasticsearch-master home]# wget -c https://nodejs.org/dist/v16.18.1/node-v16.18.1-linux-x64.tar.xz

#解压包
[root@elasticsearch-master ~]# xz -d node-v16.18.1-linux-x64.tar.xz
[root@elasticsearch-master ~]# tar -xf node-v16.18.1-linux-x64.tar

#创建软链接
[root@elasticsearch-master ~]# mv node-v16.18.1-linux-x64 nodejs
[root@elasticsearch-master ~]# cd nodejs
[root@elasticsearch-master bin]# ln -s /root/nodejs/bin/node /usr/bin/node
[root@elasticsearch-master bin]# ln -s /root/nodejs/bin/npm /usr/bin/npm


#确认软链是否成功

#验证

[root@elasticsearch-master ~]# elasticdump --version
6.111.0

2.2、安装elasticdump(master节点)

#[root@elasticsearch-master bin]# npm install elasticdump -g

#报错原因是:node的默认安装环境是在国外

#更换为淘宝源

[root@elasticsearch-master bin]# npm config set registry https://registry.npmmirror.com

#查看是否更新成功
[root@elasticsearch-master bin]# npm config get registry
https://registry.npmmirror.com/

#继续安装

#[root@elasticsearch-master bin]# npm install elasticdump -g

#创建软链接

[root@elasticsearch-master bin]# ln -s /root/nodejs/bin/elasticdump /usr/bin/elasticdump

#验证

[root@elasticsearch-master bin]# elasticdump --version
6.111.0

四、离线安装(需要先在互联网机器进行安装部署后才可以实现离线安装elasticdump)

4.1、将slave节点当作内网机器进行实验

#将master节点上已部署好的目录进行打包

[root@elasticsearch-master ~]# tar -zcf  nodejs.tar.gz nodejs

#拷贝到slave节点并解压

[root@elasticsearch-master ~]# scp -rp nodejs.tar.gz 10.10.10.2:/root/

4.2、解压、创建软链并验证

#[root@elasticsearch-slave ~]# tar -xf nodejs.tar.gz

[root@elasticsearch-slave ~]# ln -s /root/nodejs/bin/node /usr/bin/node
[root@elasticsearch-slave ~]# ln -s /root/nodejs/bin/npm /usr/bin/npm

[root@elasticsearch-slave ~]# ln -s /root/nodejs/bin/elasticdump /usr/bin/elasticdump

五、向master节点插入测试数据

1、插入测试数据,可根据下方数据修改索引名称,多导入几条

curl -X POST "10.10.10.1:9200/myindex/_doc" -H 'Content-Type: application/json' -d'
{
  "name": "John Doe",
  "age": 30,
  "about": "I love to go rock climbing"
}'

2、查看索引信息

六、迁移数据 

方法1:单条迁移

elasticdump \
  --input=http://10.10.10.1:9200/my_test \
  --output=http://10.10.10.2:9200/my_test \
  --type=data \
  --limit=1000

验证:

方法2:集群迁移

#先导出所有索引名称

curl http://10.10.10.1:9200/_cat/indices?v |awk '{print $3}' >/root/es_migrate.txt

#集群迁移脚本(该脚本包括了迁移settings、analyzer、Mapping、data),可按需修改

vim qianyi.sh

#!/bin/bash

# 读取文件
file="/root/es_migrate.txt"

for line in $(cat $file); do
  elasticdump \
     --input=http://10.10.10.1:9200/$line \
     --output=http://10.10.10.2:9200/$line \
     --type=settings \
     --limit=4000
  elasticdump \
     --input=http://10.10.10.1:9200/$line \
     --output=http:/10.10.10.2:9200/$line \
     --type=analyzer \
     --limit=4000
  elasticdump \
     --input=http://10.10.10.1:9200/$line \
     --output=http://10.10.10.2:9200/$line \
     --type=mapping \
     --limit=4000  
  elasticdump \
     --input=http://10.10.10.1:9200/$line \
     --output=http://10.10.10.2:9200/$line \
     --type=data \
     --limit=4000
    echo "正在迁移: $line" >>/root/migrate.log
done < "$file"

#授权脚本

chmod 755 qianyi.sh

#执行迁移脚本,执行前可以将slave端的索引全部删除掉

sh /root/qianyi.sh

#slave端验证执行结果


http://www.kler.cn/a/298893.html

相关文章:

  • 亚远景-SO 21434标准下的汽车网络安全:风险评估与管理的关键实践
  • 【C++语言】多态
  • Postman接口测试工具使用详解
  • Java内存区域进一步详解
  • 用python ollama qwen2.5 开发一个AI修仙游戏
  • OpenHarmony的分布式服务框架介绍与实现解析
  • go--知识点
  • 大学生必看干货!分享5款ai写毕业论文软件
  • SQL 支持使用 GROUP BY多个列
  • 利用高德+ArcGIS优雅获取任何感兴趣的矢量边界
  • coredump-N: stack 消耗完之后,用户自定义信号处理有些问题 sigaltstack
  • 什么是站点内部搜索垃圾邮件攻击以及如何防范
  • 招商引资双招双引平台主要功能分析解决方案
  • 音乐播放器javaweb项目近日总结,用js,css,HTML,servlet,mybatis来写注册登录忘记密码(还没写好)
  • STL02——手写简单版本的list
  • 浅谈C#之485通讯
  • Hive SQL查询汇总分析
  • HumanNeRF:Free-viewpoint Rendering of Moving People from Monocular Video 翻译
  • Excel怎样计算梯度费用,就拿电费来举例计算
  • Druid连接池
  • docker 重启容器且修改服务映射端口
  • python科学计算:NumPy 文件操作与数据读写
  • 【docker】Docker容器文件操作指南:从查看到传输
  • vue3 eltable 数据向上移动/向下移动
  • 在 JavaScript 中,=== 和 ==的区别
  • Python Web 框架篇:Flask、Django、FastAPI介绍及其核心技术