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里面包含了其他例如索引模板这样的东西,还需要另外迁移过去。

相关推荐
鸭鸭鸭进京赶烤5 小时前
大学专业科普 | 云计算、大数据
大数据·云计算
ldj20206 小时前
Jenkins 部署脚本
jenkins
你想考研啊6 小时前
三、jenkins使用tomcat部署项目
运维·tomcat·jenkins
G皮T9 小时前
【Elasticsearch】自定义评分检索
大数据·elasticsearch·搜索引擎·查询·检索·自定义评分·_score
你想考研啊10 小时前
四、jenkins自动构建和设置邮箱
运维·jenkins
Code blocks10 小时前
使用Jenkins完成springboot项目快速更新
java·运维·spring boot·后端·jenkins
搞笑的秀儿12 小时前
信息新技术
大数据·人工智能·物联网·云计算·区块链
SelectDB12 小时前
SelectDB 在 AWS Graviton ARM 架构下相比 x86 实现 36% 性价比提升
大数据·架构·aws
二二孚日13 小时前
自用华为ICT云赛道Big Data第五章知识点-Flume海量日志聚合
大数据·华为
会又不会14 小时前
Jenkins-Email Extension 插件插件
运维·jenkins