Я запускаю Elasticsearch 2.3.3, и я собираюсь настроить кластер, чтобы у меня была симуляция готовой продукции. Это настроено на двух Azure VM с докере.Почему не следует поместить вызов в список elasticsearch/_cluster/settings для обновления настроек?
Я смотрю на /_cluster/settings
api, чтобы позволить себе обновлять настройки. Согласно elasticserch documentation, должно быть возможно обновлять настройки кластеров.
я работать на каждой машине команду:
docker run -d --name elastic -p 9200:9200 -p 9300:9300 elasticsearch --cluster.name=api-update-test
так что теперь каждая машина видит себя как один мастер и данных узла в 1 машине кластера. Я тогда сделал запрос, в одну из них, чтобы сказать ему, где найти discovery.zen.ping.unicast.hosts
и обновлять discovery.zen.minimum_master_nodes
, с помощью следующей команды (в PowerShell)
curl
-Method PUT
-Body '{"persistent":
{"discovery.zen.minimum_master_nodes":2,
"discovery.zen.ping.unicast.hosts":["<machine-one-ip>:9300"]}
}'
-ContentType application/json
-Uri http://<machine-two-ip>:9200/_cluster/settings
Отклик возвращается неизменно с 200
ответ , но подтверждение исходных настроек: {"acknowledged":true,"persistent":{},"transient":{}}
Почему elasticsearch не уважает этот запрос и не обновляет эти настройки? Следует отметить, что это также происходит, когда я использую точный контент запроса образца в документации.