У меня есть один VPS, на котором запущены два приложения PHP (соответственно производственная и тестовая / промежуточная среда одного приложения), которые используют Elasticsearch. До сих пор у меня был только один кластер с одним узлом, который совместно использовался обоими приложениями (на порту 9200). Теперь мне нужно разделить ES для каждого приложения, чтобы я мог использовать разные данные, индексы, сопоставления и т. Д. c. для каждого из них. И я все еще хотел бы запускать все на одном VPS.
С помощью Puppet я смог настроить два узла, прослушивающих порт 9200 и 9201 (две службы), но они все еще кажутся зависимыми друг от друга - если я обновлю сопоставление на одном, другое приложение выйдет из строя (ничего не регистрируя, поэтому его так сложно отлаживать). Я также пробовал использовать разные cluster.name
для каждого из них, но второй кластер имеет UUID: _na_
, и обновление сопоставления и данных не работает.
Я новичок в ES, поэтому буду признателен за любой noob help, лучшие практики или указание в правильном направлении.
Edit
elasticsearch.yml
config:
cluster.name: my-production-cluster
http.port: 9200
node.name: my-production-node
path.data: "/var/lib/elasticsearch/my-production"
path.logs: "/var/log/elasticsearch/my-production"
cluster.name: my-test-cluster
http.port: 9201
node.name: my-test-node
path.data: "/var/lib/elasticsearch/my-test"
path.logs: "/var/log/elasticsearch/my-test"
Мне удалось отладить еще немного и второй выдает ошибку master_not_discovered_exception
с кодом 503.