ElasticSearch中的多个节点

Mic*_*ael 18 elasticsearch

如何在ElasticSearch中拥有多个节点?我在elasticsearch.yml中使用以下内容,但只有最后一个节点启动,浏览器抱怨:The page at file://localhost/ says: undefined.

node.name: "No Data"
node.master: true
node.data: false

node.name: "Data One"
node.master: false
node.data: true

node.name: "Data Two"
node.master: false
node.data: true
Run Code Online (Sandbox Code Playgroud)

imo*_*tov 32

我认为最简单的方法是在命令行中指定这些参数.要启动三个节点,只需在elasticsearch主目录中运行以下三个命令:

$ bin/elasticsearch -Des.node.data=false -Des.node.master=true -Des.node.name=NoData
$ bin/elasticsearch -Des.node.data=true -Des.node.master=false -Des.node.name=DataOne
$ bin/elasticsearch -Des.node.data=true -Des.node.master=false -Des.node.name=DataTwo
Run Code Online (Sandbox Code Playgroud)

另一种解决方案是创建3个不同的配置文件并使用-Des.config=path-to-config-file参数启动三个节点.

  • 抱歉,没有意识到它已在现有群集上完成.之所以发生这种情况,是因为您之前已将数据节点作为第一个节 所以你的所有数据都存储在`data/elasticsearch/0`目录中.现在你首先开始掌握它,它"占用"了这个目录,但由于它是非数据节点,它无法在那里使用数据.您可以关闭所有节点,将目录`0`重命名为`1`,将`1`重命名为`0`,然后以相同的顺序重新启动所有节点.这样,您的数据将位于启动第二个节点的节点中.如果数据很重要,那么在开始之前制作目录0的额外副本可能是个好主意. (2认同)