2016-07-11 4 views
3

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

ответ

0

Я всегда использовал этот подход:

curl -XPUT "http://localhost:9200/_cluster/settings" -d' 
{ 
    "persistent": { 
    "discovery.zen.minimum_master_nodes": 2 
    } 
}' 

И, кроме того, только discovery.zen.minimum_master_nodes динамически обновлять-состоянии. Другой - нет.

 Смежные вопросы

  • Нет связанных вопросов^_^