Подтвердить что ты не робот

Несколько узлов в ElasticSearch

Как я могу иметь несколько узлов в моем ElasticSearch? Я использую следующее в elasticsearch.yml, но запускается только последний node, и браузер жалуется: 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
4b9b3361

Ответ 1

Я думаю, что самый простой способ сделать это - указать эти параметры в командной строке. Чтобы запустить три узла, вам просто нужно запустить следующие три команды в домашнем каталоге 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

Другим решением является создание 3 разных конфигурационных файлов и запуск трех узлов с параметром -Des.config=path-to-config-file.

Ответ 2

Прежде всего, вы должны попытаться получить доступ к elasticsearch, используя [http://localhost:9200/][1], если вы используете привязки портов по умолчанию.

Я бы установил ваш мастер node также как данные node, нет причин не делать этого. Если вы пытаетесь запустить 3 узла на одной машине. Но, начиная с 3 узлов, все на одной машине не имеют никакого смысла, как ничего, кроме эксперимента. Что вы пытаетесь выполнить?

Ответ 3

В Windows для версии 6.x атрибуты команды изменяются на

elasticsearch -EsomeYamlPropety=someValue

Для начала вам нужно изменить свойстваasticsearch.yml на:

http.port: 9200-9299
transport.tcp.port: 9300-9399
node.max_local_storage_nodes: 2

Потому что вы не можете запускать узлы на одном порту, и когда я пытаюсь использовать команду с аргументом -Ehttp.port = 9201, узлы не могли видеть друг друга и создавали два разных кластера с одинаковым именем.

Запустите первый узел стандартной командой:

.\bin\elasticsearch

Запустите второй узел командой с атрибутами:

.\bin\elasticsearch -Enode.name=NodeTwo -Enode.master=false

Ответ 4

для запуска 3 узловasticsearch на одной машине, вы должны использовать эти конфиги в файлеasticsearch.yml каждого узла:

для мастер-узла:

cluster.name: mycluster
node.name: "node1"
node.master: true
node.data: true
network.host: 127.0.0.1
http.port: 9200-9299
transport.tcp.port: 9300-9399
discovery.zen.minimum_master_nodes: 2

для узлов данных:

cluster.name: mycluster
node.name: "data-node-name"
node.master: false
node.data: true
network.host: 127.0.0.1
http.port: 9200-9299
transport.tcp.port: 9300-9399
discovery.zen.minimum_master_nodes: 2

а затем вы должны запустить каждый узел:

cd path/to/elasticsearch/bin
path\bin>elasticsearch.bat