我正在使用localhost,为了了解集群是什么以及节点是什么,我希望在我的localhost上有两个节点。
只是为了说清楚: 当我从bin / elasticsear吃午餐时,我正在看一个群集,对吗?
如果是,那么节点在哪里?
如何在我的群集上有两个节点?
您可能会问为什么我需要它?
因为您可能知道,elasticsearch集群中的每个索引都有shads。 default是一个索引的5个分片,默认是每个索引有1个副本,因此每个索引默认有10个分片,5个用于原始数据,5个用于副本。在elasticsearch中,将副本的分片和原始分片放在同一节点上是不可能的。因此,在我的情况下,我有一个集群为每个索引运行5个原始分片,但我没有5个副本的分片。这就是为什么我的索引状态是黄色(不是绿色,不是红色),我希望它是绿色的,因此我需要在我的集群中放置分片的另一个节点,但我只有一个弹性搜索服务器(localhost),这就是我需要的原因我的localhost elasticsearch服务器上的另一个节点
答案 0 :(得分:0)
每当你启动elasticsearch服务器时,master node
默认启动。为了运行另一个节点,只需转到另一个终端并再次启动弹性搜索服务器。
确保:
discovery.zen.ping.multicast.enabled: true
elasticsearch.yml
。
由于elasticsearch本质上是distributed
,新添加的实例将由现有节点自动检测。您可以从终端验证这一点。
假设现有节点的名称为node1
,新添加的节点为node2
。
在node1
正在运行的终端上,您会看到以下消息:
[node1] added [node2]
在已启动node2
的终端上,您会看到消息:
[node2] detected_master [node1]
两个节点都自动检测到对方。您可以在意义上运行以下查询以检查正在运行的节点:
GET /_cluster/state
这将列出所有节点