Elasticsearch удаленный доступ между двумя отдельными серверами Ubuntu
На Ubuntu 16.04 у нас работает веб-сайт, на котором мы собираемся использовать функцию поиска, которая использует Elasticsearch. Мы планируем иметь несколько проектов, каждый из которых имеет два индекса. По этой причине мы устанавливаем другой сервер Ubuntu с приличным оперативным памяти только для размещения Elasticsearch.
Наш вопрос: Каков наилучший способ интеграции этих двух серверов, чтобы иметь возможность использовать Elasticsearch на веб-сайте? Есть ли плагин, который можно использовать для дальнейшей защиты интеграции, или наш лучший способ - использовать конфиги ES?
Спасибо
1 ответ
Мы нашли решение. В asticsearch.yml мы сделали следующее:
network.host: internal ip address of ES server (Server B)
http.port: 9200
transport.host: internal ip address of ES server (Server B)
transport.tcp.port: 9300
Мы дали внутренний IP-адрес сервера, на котором находится Elasticsearch (Сервер B). Затем в брандмауэре мы дали разрешение на доступ к внутреннему IP-адресу сервера приложений (сервер A). (Эти два сервера находятся в одной сети в центре обработки данных).
Таким образом, мы можем свернуться с сервера A, используя внутренний IP-адрес сервера B, чтобы получить результаты от Elasticsearch.
Теперь мы получаем следующий результат от Php.
array(2) { ["result"]=> bool(true) ["data"]=> array(3) { ["acknowledged"]=> bool(true) ["shards_acknowledged"]=> bool(true) ["index"]=> string(23) "project_name" } }
Для тех, кто интересуется некоторыми подробностями, я буду рад помочь.