如何将弹性搜索索引或日志从一个弹性搜索服务器复制到另一台?

Posted

技术标签:

【中文标题】如何将弹性搜索索引或日志从一个弹性搜索服务器复制到另一台?【英文标题】:How to copy elasticsearch indices or logs from one elasticsearch server to another? 【发布时间】:2021-09-29 12:18:41 【问题描述】:

例如: 从 https://localhost:9200 获取索引“index_name” 到 https://localhost:9300 索引'index2_name'

建议在复制数据之前使用映射,映射文章:https://www.elastic.co/guide/en/elasticsearch/reference/current/explicit-mapping.html

【问题讨论】:

【参考方案1】:
----------
This can be easily and seamlessly done using elasticdump:

1. I used git bash (cli) to install elasticdump: npm install elasticdump -g
2. Download logs to a local json file:
NODE_TLS_REJECT_UNAUTHORIZED=0 elasticdump \
  --input=https://localhost:9200/index_name \
  --output=index_name.json \
  --type=data

NOTE: NODE_TLS_REJECT_UNAUTHORIZED=0 is for a secured elasticsearch

3. From one elasticsearch server to another 
NODE_TLS_REJECT_UNAUTHORIZED=0 elasticdump \
  --input=https://localhost:9200/index_name \
  --output=https://localhost:9300/index2_name \
  --type=data

NOTE: NODE_TLS_REJECT_UNAUTHORIZED=0 is for a secured elasticsearch.
      index2_name in the index for the second server (you can use mappings first to create the index before copying over the data, that's if you believe you have 'mapping conflicts' or for best practice)


Here is a refence video on youtube with an example.
https://www.youtube.com/watch?v=Sp7eV0LQzts

【讨论】:

@saeed 我以前用过这个,它需要在 elasticsearch.yml 上进行一些配置...上面的解决方案不需要任何配置,它只需要安装 elasticdump 然后你就完成了【参考方案2】:

您还可以使用远程重新索引将数据从一个集群传输到另一个集群。你可以看看怎么做here

【讨论】:

以上是关于如何将弹性搜索索引或日志从一个弹性搜索服务器复制到另一台?的主要内容,如果未能解决你的问题,请参考以下文章

如何从弹性搜索数据源在 grafana 中制作累积和图?

我应该对弹性搜索中的非日志数据使用基于时间的索引吗?

如何使用弹性搜索索引 10 亿行 CSV 文件?

使用弹性搜索设计搜索服务

logstash 输出带有序列号的弹性搜索索引

如何在弹性搜索中创建索引和类型?