Как настроить клиентские узлы Elasticsearch?
у меня есть пара вопросов Elasticsearch относительно клиентского узла:
могу ли я сказать: любые узлы, пока они открывают порт HTTP, я могу рассматривать их как" клиентские " узлы, потому что мы можем выполнять поиск/индексирование через этот узел.
На самом деле мы рассматриваем узел как клиентский узел, когда
cluster=false
иdata=false
, если я настроил 10 клиентских узлов, мне нужно маршрутизировать на стороне клиента, я имею в виду, если я укажу clientOne: 9200 в моем коде как ES портал, тогда бы clientOne пересылать другие HTTP-запросы на другие клиентские узлы, в противном случае,clientOne было бы под очень высоким давлением. я.е они общаются друг с другом между клиентским узлам?когда я указываю клиентские узлы в кластере ES, должен ли я закрыть HTTP-порт других узлов? Потому что мы можем запрашивать только клиентские узлы.
считаете ли вы необходимым настроить как узел данных, так и клиентский узел в та же машина или просто узел данных настройки действует как клиентский узел, в любом случае он находится на той же машине?
Если кластер ES будет сильно / часто индексироваться при меньшем поиске, тогда мне не нужно настраивать клиентский узел, потому что клиентский узел хорош для сбора данных, правильно?
для общей цели поиска / индекса должен ли я использовать порт http или порт tcp, в чем разница в перспективе клиентов, пожалуйста?
1 ответов
Да, вы можете отправлять запросы через http на любой узел с открытым портом 9200.
С узла.данные: false и узел.мастер: ложь, вы получаете"узел клиента". Они полезны для разгрузки индексирования и поиска трафика с узлов данных. Если у вас есть 10 из них, вы хотите поставить балансировщик нагрузки перед ними.
закрытие http-порта узла данных (http.включено: false) будет препятствовать их обслуживанию запросы клиентов (возможно, хорошие), хотя это также помешает вам свернуть их непосредственно для статистики и т. д.
клиентские узлы полезны (см. #2), поэтому я бы не направлял трафик непосредственно на ваши узлы данных. Запуск клиента и узла данных на одном и том же аппаратном обеспечении будет зависеть от конфигурации этой машины (у вас достаточно ОЗУ и т. д.).
клиентский узел также полезен для индексирования, потому что они знают, какие данные узел должен получать данные для хранения. Если вместо этого вы отправите запрос индексирования на случайный узел данных, вероятность того, что ему придется перенаправить этот запрос на другой узел, будет высока. Это пустая трата времени и ресурсов, если вы можете создавать клиентские узлы.
присоединение ваших клиентов к кластеру может предоставить им доступ к дополнительной информации о кластере, но использование http дает им более общий интерфейс "черного ящика". С HTTP, вы также не должны держать клиенты в той же версии, что и узлы ES.
надеюсь, что это поможет.