ElasticSearch在同一台计算机上运行的单独实例

时间:2015-05-15 21:14:34

标签: elasticsearch

我在默认端口(9200)上运行了一个弹性搜索实例,用于为我的应用程序的后端供电。我试图在9201上运行另一个实例(单独的目录),它具有相同的索引但数据不同,它似乎覆盖了我的第一个实例。更多背景:

本地主机:9200 / appIndex / APPDATA

本地主机:9201 / appIndex / historicalData

我让它们同时在同一台计算机上的不同端口上运行。我注意到我的第一个实例被第二个覆盖了(ES内置了某种故障转移/负载平衡?)之后,我有以下内容:

本地主机:9200 / appIndex / historicalData

本地主机:9201 / appIndex / historicalData

所以我想这样做的原因是因为9200将为我的应用程序提供动力,并且应该尽可能精简。 9201将拥有许多GB的数据,因此我希望最终将其卸载到另一台服务器上,但现在它们将在同一台服务器上运行。

我在想,即使我更改了服务器的根索引,因此它也不同(例如:9201 = / dataIndex / historicalData)我不希望第一个实例生成新索引并从另一个实例复制数据因为这违背了我这样做的目的。

任何人都可以说明如何让这两个实例不相互交谈吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

认为你的两个实例形成了一个集群,因为你说你在哪里使用相同的索引名称,集群分发了可能导致覆盖的索引。

  

ES中内置了某种故障转移/负载平衡?

ES是一个分布式搜索的核心,它是开箱即用的设置将形成分布式集群。

如果您的两个实例需要相互了解,只需为每个实例分别提供cluster.name

还有其他/进一步的设置可以避免分发数据,您也可以默认将index.number_of_replicas设置为0,这实际上不会复制您的数据(此设置也适用于创建索引或之后,请参阅Update Indices Setting端点。)