ElasticSearch深入解析(五):如何将一台电脑上的Elasticsearch服务迁移到另一台电脑上

文章目录

0.安装数据迁移工具

Elasticsearch dump是一个用于将Elasticsearch索引数据导出为JSON格式的工具。你可以使用Elasticsearch dump通过命令行或编程接口来导出数据。以下是一个简单的示例,假设你已经安装了Node.js和npm:

使用npm安装elasticsearch-dump:

Bash 复制代码
npm install elasticdump@6.110.0  -g

1.导出数据

bash 复制代码
elasticdump --input=http://source-elasticsearch-host:9200/your_index --output=/path/to/your/index_data.json --type=data

2.导出mapping

bash 复制代码
elasticdump --input=http://source-elasticsearch-host:9200/your_index --output=/path/to/your/index_mapping.json --type=mapping

3.导出查询模板

使用以下命令从源Elasticsearch实例中挨个获取查询模板,并将返回的JSON数据保存到一个文件中:

bash 复制代码
curl -XGET 'http://your-elasticsearch-host:9200/_scripts/查询模板的id' > 文件名.json

4.拷贝插件

插件存放在安装目录下的plugins文件夹中。一个插件对应一个子文件夹。

5.拷贝配置

拷贝原来的elasticsearch.yml配置。

6.导入到目标电脑上

  • 安装Elasticsearch:

在目标电脑上安装同版本的Elasticsearch。安装教程

  • 安装elasticdump工具:
Bash 复制代码
npm install elasticdump@6.110.0  -g
  • 导入插件:

将源电脑导出的插件放置到目标电脑的es的安装目录的plugins文件夹下。

重启es服务。

通过以下命令可以查看插件是否生效:

powershell 复制代码
GET http://your_ip:9200/_cat/plugins
  • 导入mapping:
bash 复制代码
elasticdump --input=/path/to/your/index_mapping.json --output=http://target-elasticsearch-host:9200/your_index --type=mapping
  • 导入data:
bash 复制代码
elasticdump --input=/path/to/your/output/file.json --output=http://target-elasticsearch-host:9200/your_index --type=data
  • 导入查询模板:

针对每一个查询模板json文件,进行以下操作来创建查询模板:

bash 复制代码
POST _scripts/查询模板id
{
    "script": ...这里应该是JSON文件中对应的script键的值的部分...
}

到这里基本就可以了,当然如果你的Elasticsearch里面包含了其他例如索引模板这样的东西,还需要另外迁移过去。

相关推荐
java-yi5 分钟前
Elasticsearch(ES)核心用法与实战技巧分享
大数据·elasticsearch·搜索引擎
星辰_mya1 小时前
Es之脑裂
大数据·elasticsearch·搜索引擎
搞科研的小刘选手1 小时前
【EI稳定检索会议】第七届计算机信息和大数据应用国际学术会议(CIBDA 2026)
大数据·acm·学术会议·计算机工程·计算机信息·大数据应用·信息与技术
成长之路5141 小时前
【数据集】地级市公共安全基建省内横向压力(2015-2025)
大数据
YangYang9YangYan2 小时前
2026中专大数据专业学习指南
大数据
yumgpkpm2 小时前
预测:2026年大数据软件+AI大模型的发展趋势
大数据·人工智能·算法·zookeeper·kafka·开源·cloudera
无级程序员2 小时前
大数据Hive之拉链表增量取数合并设计(主表加历史表合并成拉链表)
大数据·hive·hadoop
py小王子3 小时前
dy评论数据爬取实战:基于DrissionPage的自动化采集方案
大数据·开发语言·python·毕业设计
龙山云仓3 小时前
MES系统超融合架构
大数据·数据库·人工智能·sql·机器学习·架构·全文检索
淡忘_cx4 小时前
使用Jenkins自动化部署vue项目(2.528.2版本)
vue.js·自动化·jenkins