掌握ElasticSearch(二):如何将一台电脑上的Elasticsearch服务迁移到另一台电脑上

发布时间:2024年01月09日

0.安装数据迁移工具

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

使用npm安装elasticsearch-dump:

npm install elasticdump@6.110.0  -g

1.导出数据

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

2.导出mapping

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

3.导出查询模板

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

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

4.拷贝插件

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

5.拷贝配置

拷贝原来的elasticsearch.yml配置。

6.导入到目标电脑上

  • 安装Elasticsearch:

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

  • 安装elasticdump工具:
npm install elasticdump@6.110.0  -g
  • 导入插件:

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

重启es服务。

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

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

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

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

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

文章来源:https://blog.csdn.net/Tracycoder/article/details/135203984
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。