如何在localhost服务器elasticsearch上有两个节点

时间:2016-01-27 15:17:59

标签: elasticsearch

我正在使用localhost,为了了解集群是什么以及节点是什么,我希望在我的localhost上有两个节点。

只是为了说清楚: 当我从bin / elasticsear吃午餐时,我正在看一个群集,对吗?

如果是,那么节点在哪里?

如何在我的群集上有两个节点?

更新

您可能会问为什么我需要它?

因为您可能知道,elasticsearch集群中的每个索引都有shads。 default是一个索引的5个分片,默认是每个索引有1个副本,因此每个索引默认有10个分片,5个用于原始数据,5个用于副本。在elasticsearch中,将副本的分片和原始分片放在同一节点上是不可能的。因此,在我的情况下,我有一个集群为每个索引运行5个原始分片,但我没有5个副本的分片。这就是为什么我的索引状态是黄色(不是绿色,不是红色),我希望它是绿色的,因此我需要在我的集群中放置分片的另一个节点,但我只有一个弹性搜索服务器(localhost),这就是我需要的原因我的localhost elasticsearch服务器上的另一个节点

1 个答案:

答案 0 :(得分:0)

每当你启动elasticsearch服务器时,master node默认启动。为了运行另一个节点,只需转到另一个终端并再次启动弹性搜索服务器。 确保:

    {li> discovery.zen.ping.multicast.enabled: true elasticsearch.yml

由于elasticsearch本质上是distributed,新添加的实例将由现有节点自动检测。您可以从终端验证这一点。

假设现有节点的名称为node1,新添加的节点为node2

  • node1正在运行的终端上,您会看到以下消息:

    [node1] added [node2]

  • 在已启动node2的终端上,您会看到消息:

    [node2] detected_master [node1]

两个节点都自动检测到对方。您可以在意义上运行以下查询以检查正在运行的节点:

GET /_cluster/state

这将列出所有节点