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

文章目录

  • 0.安装数据迁移工具
  • 1.导出数据
  • 2.导出mapping
  • 3.导出查询模板
  • 4.拷贝插件
  • 5.拷贝配置
  • 6.导入到目标电脑上

0.安装数据迁移工具

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

使用npm安装elasticsearch-dump:

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

你可能感兴趣的:(中间件,elasticsearch,大数据)