Установка ElasticSearch (один сервер) кластер в Unix/Linux

Установка ElasticSearch (один сервер) кластер в Unix/Linux

Elasticsearch — это гибкий и мощный распределенный поиск в реальном времени и аналитический движок. Он использует простой набор API и обеспечивает возможность полнотекстового поиска. Описание всех преимуществ этого движка доступно на официальном сайте. Далее по тексту будем называть Elasticsearch как ES.

Установка ElasticSearch (один сервер) кластер в Unix/Linux

Проверка Java

Java является основным требованием при установке ES. Поэтому, убедитесь что в вашей системе установлена Java:

Если в вашей системе не установлена Java, используйте одну из следующих ссылок для ее установки:

Установка JAVA (JDK) на CentOS/RHEL/Fedora

Установка JAVA 9 (JDK9) на Debian/Ubuntu/LinuxMint

Установка Java на Debian/Ubuntu/Mint

Вот еще полезное чтиво:

Узнать размер Java Heap Memory Size

Установка переменных JAVA_HOME / PATH в Linux

Установка ElasticSearch (один сервер) кластер в Debian/Ubuntu

-===СПОСОБ 1 — использовать репозиторий ===-

Импортируем ключ Eliteearch PGP ключ:

Возможно, вам придется установить пакет apt-transport-https на Debian:

Добавлем репозиторий:

Выполняем установку ES:

-===СПОСОБ 2 — использовать DEB пакет ===-

-===СПОСОБ 3 — использовать исходный код ===-

Будет описан ниже.

Установка ElasticSearch (один сервер) кластер в CentOS/Fedora/RHEL

-===СПОСОБ 1 — использовать репозиторий ===-

Загружаем ключ:

Добавляем репозиторий:

И прописываем:

Выполняем установку ES:

Если используете Fedora:

-===СПОСОБ 2 — использовать RPM пакет ===-

-===СПОСОБ 3 — использовать исходный код ===-

Будет описан ниже.

Установка ElasticSearch (один сервер) кластер в Mac OS X

Для начала, устанавливаем HOMEBREW — Установка HOMEBREW на Mac OS X после чего, выполняем поиск пакета:

Вывод:

Как уже поняли, имеется несколько пакетов, я установлю:

Установка ElasticSearch (один сервер) кластер в других Unix/Linux ОС

-===Docker===-

Можно запустить докер контейнер с ES, но мне не приходилось этого делать. Т.к не было нужды. Если появится такая возможность, я обязательно дополню данную тему.

-===архив===-

Теперь загрузите архив Elasticsearch с официального сайта:

Распакуем архив:

Перемещаем распакованную папку в удобное место ( для простоты использования ):

И, переходим к настройке.

Настройка ElasticSearch в Unix/Linux

И так, отредактируем конфиг:

PS: Данный конфиг лежит там, т.к я использовал установку с архива. По умолчанию, все конфиги будут находиться в /etc/elasticsearch/ папке.

Изменяем:

Где:

  • cluster.name — Имя кластера.
  • node.name: Имя самого сервера.
  • network.host: ИП хоста.

Установка плагинов для Elasticsearch

Для его установки используйте следующую команду:

Запуск Elasticsearch

Запускаем службу:

Перед запуском (если использовали СПОСОБ 1 и 2), проверяем что у нас используется «SysV init vs systemd»:

Запуск  Elasticsearch с SysV init

Чтобы запустить/остановить службу ES, используйте:

Если Elasticsearch не запускается по какой-либо причине, он выведет причину отказа на STDOUT. Лог-файлы можно найти в /var/log/elasticsearch/ папке.

Незабываем пробросить порт в iptables!

Используйте команду update-rc.d чтобы добавить службу в автозагурзку ОС Debian/Ubuntu:

Используйте команду chkconfig, чтобы добавить службу в автозагрузку ОС RHEL/CentOS:

Для просмотра, можно использовать:

Запуск Elasticsearch с systemd

Чтобы добавить ES в автозагрузку системы, используйте:

Чтобы запустить/остановить службу ES, используйте:

Чтобы получить вывод лога, используйте:

Чтобы показать логи конкретно для ES:

Чтобы показать записи с лога для ES службы начиная с заданного времени:

Разрешим прохождения трафика через 9200-й TCP-порт в вашем брандмауэре:

Переходим к тестированию

Тестирование Elasticsearch

Открываем браузер:

Или, можно выполнить в консоле:

Основные примеры использования Elasticearch

Следующие примеры помогут вам добавить, получить и найти данные в кластере Elasticsearch. Начнем, с создания  бакета:

Получаем:

PS: Можно открыть ссылку в браузере.

Добавление данных в Elasticsearch

Чтобы начать использовать Elasticsearch, давайте сначала добавим некоторые данные. Как уже упоминалось, Elasticsearch использует API RESTful, который отвечает обычным командам CRUD: Create, Read, Update и Delete. Для работы с ним мы будем использовать curl.

Вывод:

Я курлом, отправил HTTP POST реквест на Elasticseach сервер. УРЛа запроса, была /tutorial/helloworld/1. Здесь важно понять параметры:

  • tutorial — Является индексом данных в Elasticsearch.
  • helloworld — Это тип.
  • 1 — Является идентификатором нашей записи под указанным выше индексом и типом.

Вы можете получить эту первую запись с HTTP GET-запросом:

Вывод:

Чтобы изменить существующую запись, вы можете использовать HTTP PUT-запрос следующим образом:

И снова проверяем:

Возможно, вы заметили дополнительный аргумент в приведенном выше запросе. Он позволяет читаемым человеком формате, чтобы вы могли писать каждое поле данных в новой строке. Вы также можете «приукрасить» свои результаты при извлечении данных и получить гораздо более приятный результат, например:

Проверка работы состояния кластера

И так, можно проверить состояния кластера следующим образом:

Зачастую, многие для более надежной безоспастности, используют авторизацию и по этому — стоит выполнять команду следующим образом:

Или в более красивом виде:

Вывод получим:

По статусу можно понять что все — ОК. Если будет другой цвет, скажем — красный (red) или желтый (yellow) — это уже не есть хорошо.

Вот и все, установка «Установка ElasticSearch (один сервер) кластер в Unix/Linux» завершена.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *