当前位置: 首页 > 知识库问答 >
问题:

如何将elasticsearch索引或日志从一个elasticsearch服务器复制到另一个?

魏健柏
2023-03-14

例如:来自https://localhost:9200将索引“index_name”设置为https://localhost:9300对于索引“index2_name”

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

共有2个答案

史商震
2023-03-14

还可以使用远程重新索引将数据从一个集群传输到另一个集群。你可以在这里看到如何使用它

孙熠彤
2023-03-14
----------
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
 类似资料:
  • 问题内容: 我用映射创建了一个新索引。其中存储了500 000个文档。 我想更改索引的映射,但是在elasticsearch中是不可能的。所以我用新的新映射创建了另一个索引,现在我正尝试将文档从旧索引复制到新索引。 我正在使用扫描和滚动类型从旧索引中检索文档并将其复制到新索引。复制需要花费更多时间,并且系统运行缓慢。 下面是我正在使用的代码。 问题答案: 您不必编写类似的代码。周围有一些出色的工具

  • 问题内容: 假设我的ElasticSearch中有电影数据,并且我这样创建它们: 我有一堆不同年代的电影。我想复制特定年份(即1972年)中的所有电影,然后将它们复制到新的索引“ 70sMovies”,但是我看不到该怎么做。 问题答案: 从ElasticSearch 2.3开始,您现在可以使用内置的API 例如: 或仅通过添加过滤器/查询的特定部分 了解更多:https://www.elastic

  • 假设我的ElasticSearch中有电影数据,我创建了它们,如下所示: 我有很多不同年代的电影。我想复制某一年(1972年)的所有电影,并将它们复制到一个新的索引“70sMovies”,但我不知道怎么做。

  • 问题内容: 自几个月前以来,我的集群每天都有一个索引,每个索引有5个分片(默认),并且由于分片太多(超过1000个),我无法在整个集群上运行查询。 文档ID是自动生成的。 如何将索引合并为一个索引,处理有冲突的ID(甚至可能发生冲突)并更改类型? 我正在使用ES版本5.2.1 问题答案: 仅在使用ELK堆栈几个月并逐日创建索引后才可见的常见问题。这里有一些选项可以解决性能问题。 首先,您可以用来限

  • 我知道有一种方法可以实现db。收集getIndexes(),它将列出为集合定义的所有索引。有没有办法将这些索引定义复制并创建到另一个集合? 有很多,我不想一个接一个地做。 关于重复的问题评论:我不希望复制收藏。我希望以可以应用于另一个集合的格式导出索引。