Elasticsearch (AlmaLinux 8)

Elasticsearch (AlmaLinux 8)

  • Операционна система: almalinux 8

Описание

Elasticsearch е мощен и скалируем engine за търсачки, който позволява индексиране и търсене на големи обеми от данни за кратко време. Той е базиран върху библиотеката за търсене Apache Lucene и предоставя дистрибутирана, multi-tenant архитектура, която ви позволява лесно да скалирате нагоре или надолу в зависимост от нуждите ви. Elasticsearch се използва най-често от приложения като логове, анализи и електронна търговия.

Включен софтуер

Пакет Версия
Elasticsearch latest
Docker 3.20.10
Docker compose 2.12.2
containerd.io 1.6.10

Първоначално стартиране на услугата

Това приложение използва Docker, за да осигури по-бързо стартиране на прилежащия софтуер (Elasticsearch) и директно започване на употребата му. По този начин се елиминира нуждата от запознаване със спецификите му по отношение на конфигурация и инсталация. За да започнете директна работа с приложението, единственото, което трябва да направите е да свържете приложението си, което ще ползва Elasticsearch, като му подадете IP адреса, назначен за виртуалната ви машина и порта, на който слуша Elasticsearch (описани по-долу, по подразбиране са 9200 и 9300).

Забележка: По подразбиране, Drupal може да се достъпи директно по IP адрес. За да започнете да използвате Drupal с реалния си домейн, първо трябва да насочите въпросния домейн към IP адреса си и да промените настройките за това от къде се отваря Drupal през неговия административен панел.

Бързи настройкии и често задавани въпроси

  • Входът в клауд услугата се извършва посредством SSH ключ или парола, която сте посочили.
  • Docker е инсталиран според препоръките от официалната docker документация.
  • Стандартните команди docker и docker compose са вече достъпни в това приложение.
  • При първо стартиране на виртуалната машина, отнема няколко минути, преди да се стартира Docker контейнер, съдържащ Elasticsearch.
  • Elasticsearch data се намира в /opt/elasticsearch/data/.
  • По подразбиране, Elasticsearch стартира работа върху всички налични интерфейси на машината. Портовете за достъп до Elasticsearch са 9200 и 9300.

Допълнителни настройки при Docker

Допълнителнителните настройки за Elasticsearch, които можете да променяте и които се контролират директно от Docker са зададени като променливи стойности в конфигурационния файл /opt/docker-elasticsearch/docker-compose.yml:

Забележка: След промяна на която и да е от стойностите, трябва да рестартирате Docker контейнера, върху който работи приложението. За повече информация, моля, прочетете секцията за пресъздаване на Docker контейнери.

  • ELASTICSEARCH_EXTRA_FLAGS: Допълнителни command-line аргументи за elasticsearch daemon
  • ELASTICSEARCH_CLUSTER_NAME: Име на Elasticsearch Cluster. Default: elasticsearch-cluster
  • ELASTICSEARCH_CLUSTER_HOSTS: Списък на elasticsearch хостове в клъстера. Наличните сепаратори за изброяване са ' ', ',' and ';'. Без defaults.
  • ELASTICSEARCH_CLUSTER_MASTER_HOSTS: Списък на elasticsearch master-eligible хостове. Наличните сепаратори за изброяване са ' ', ',' and ';'. Ако не са предоставени никакви стойности, ще се вземе предвид стойността на ELASTICSEARCH_CLUSTER_HOSTS.
  • ELASTICSEARCH_IS_DEDICATED_NODE: Elasticsearch node, който да играе роля на 'dedicated node'. Default: no
  • ELASTICSEARCH_NODE_TYPE: Elasticsearch node тип, който да играе ролята на 'dedicated node'. Валидни стойности: master, data, coordinating или ingest.
  • ELASTICSEARCH_NODE_NAME: Elasticsearch node име. Без defaults.
  • ELASTICSEARCH_BIND_ADDRESS: Адрес/интерфейс, на който да работи. Default: 0.0.0.0
  • ELASTICSEARCH_PORT_NUMBER: Elasticsearch порт. Default: 9200
  • ELASTICSEARCH_NODE_PORT_NUMBER: Elasticsearch Node към Node порт. Default: 9300
  • ELASTICSEARCH_PLUGINS: Плъгини, които да се инсталират, разделени с , или ;. Без defaults.
  • ELASTICSEARCH_KEYS: Лист с ключ=стойност променливи, които да се запазят, разделени с , или ;. Без defaults.
  • ELASTICSEARCH_HEAP_SIZE: Заделена памет за Xmx и Xms java heap параметри. Default: 1024m
  • ELASTICSEARCH_FS_SNAPSHOT_REPO_PATH: Elasticsearch file system snapshot repository път. No defaults.
  • ELASTICSEARCH_DATA_DIR_LIST: Директории, използвани за съхранение на данни, разделени с , или ;. Без defaults.

Работа с Docker

Организацията на това приложение е осъществена изцяло посредством Docker. По този начин можем да Ви предоставим готови приложения по-бързо. Освен това, конфигурацията им е по-гъвкава и е доста контролируема. За да можете да го контролирате това приложение обаче, е нужно да знаете някой базови Docker функционалности и особености.

Рестартиране на всички услуги

Рестартирането на базата данни и Docker контейнера, който съдържа самия Elasticsearch, заедно с останалия софтуер, може да бъде извършено по два начина:

  1. Чрез рестартиране на цялата виртуална машина
  2. Рестартиране на Docker контейнерите, което е по-бързия вариант. За целта, достъпете машината си чрез SSH, и изпълнете следните команди:
sudo su -
cd /opt/docker-elasticsearch
docker compose restart

Пресъздаване на Docker контейнери

Пресъздаването може да се наложи, в случай че сме променяли конфигурацията в docker-compose.yml. При тази ситуация, трябва да следвате следните стъпки:

cd /opt/docker-elasticsearch/
docker compose stop
docker compose up -d

Проверка на статуса на Docker приложението

За да направите проверка, трябва да изпълните следните команди:

sudo su -
docker ps -a

Моля, обърнете внимание на колоната STATUS. Тя трябва да показва от колко време работи услугата, например Up X minutes. Ако статуса е Restarting, то трябва да се провери какво не е наред с приложението. В такъв случай, можете да направите проверка, като проследите логовете на приложението по следния начин:

  1. Вземете името на приложението, което можете да видите в колоната NAMES от изходния код на командата docker ps -a. Вижте логовете с командата docker logs <NAME>, Където е името на контейнера.

Промяна на настройки

Описаните настройки в секцията Допълнителни настройки при Docker могат да бъдат нагласяни в docker-compose.yml файла. Пътят до него е описан отново в тази секция. За да промените настройка, отворете конфигурационния файл и обърнете внимание на секцията environment, намираща се под elasticsearch. Всяка една конфигурационна опция трябва да бъде описана на нов ред с тире отпред по следния примерен начин:

    environment:
      - ELASTICSEARCH_PORT_NUMBER=9200

Моля, обърнете внимание, че трябва да се спазва и правилната индентация (брой празно място), тъй като това е важно за конфигурационни файлове от тип yaml.