ElasticSearch为服务器分配索引

时间:2014-01-26 19:48:17

标签: elasticsearch

我有4个运行ES的服务器,其中每个服务器有1个索引,1个分片和0个副本:

Server1: Name Server
Server2: Address Server
Server3: Health Chart Server
Server4: HealthID/SSN Server

我正在使用此SO answer禁用多播将这些服务器集群到云中,并将所有4个服务器IP放在单播主机阵列中,端口9300适用于我(在每个服务器上配置yml)。

我的问题是如何设置每个索引驻留在其受尊重的服务器上(并且只在该服务器上)?我通过localhost在每个服务器上编制索引,并且不能容错,也不能需要它。我想将这些服务器集群化以使用别名,我可以搜索所有这些服务器(正在运行)。如果服务器出现故障,那么其索引也会出现故障。就这样吧 - 我无法搜索它,这很好,但我不希望索引路由到集群中的另一台服务器,我只是想让它关闭。然后,如果我重新启动服务器,它将重新加入群集并再次搜索。

我无法找到基于ES Guide的解决方案,这可能是我的疏忽,但对如何实现此设计却找不到多少。

1 个答案:

答案 0 :(得分:3)

我很想知道为什么要控制整个索引的分配位置。这意味着你不想拥有任何副本(因为副本永远不会分配在初选的同一台机器上)? 通常,分片以均匀的方式分布,因此您不需要控制分配。无论如何,对于高级用例,您可以为节点分配标签并控制通过index settings分配索引的位置,查看shard allocation filtering