0x0i.elasticsearch

Π»ΠΎΠ³ΠΎΡ‚ΠΈΠΏ ansible

Π»ΠΎΠ³ΠΎΡ‚ΠΈΠΏ elasticsearch

Роль Ansible :mag_right: :high_brightness: Elasticsearch

Роль Galaxy Π Π΅Π»ΠΈΠ· Π½Π° GitHub (послСдний ΠΏΠΎ Π΄Π°Ρ‚Π΅) ЛицСнзия: MIT

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Роль Ansible для установки ΠΈ настройки Elasticsearch, Π΄Π²ΠΈΠΆΠΊΠ° для Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ ΠΈ поиска Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹:
* Debian
* Redhat (CentOS/Fedora)
* Ubuntu

ВрСбования

ВрСбуСтся ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° unzip/gtar, установлСнная Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΌ хостС. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ см. Π² Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ°Ρ… модуля ansible unarchive.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ€ΠΎΠ»ΠΈ

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ доступны ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² соотвСтствии с этапами развСртывания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ машин:

  • установка
  • конфигурация
  • запуск
  • ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅

Установка

elasticsearch ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ систСм управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ ОБ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, apt, yum) ΠΈΠ»ΠΈ распакованных Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² (.tar, .zip), Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… источников.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ для управлСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ аспСктами этого процСсса установки, начиная ΠΎΡ‚ вСрсии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ мСстополоТСния Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° установки, Π³Π΄Π΅ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ:

elasticsearch_user: <имя-ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ-сСрвиса> (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: elasticsearch)

  • Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ слуТСбный ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈ Π³Ρ€ΡƒΠΏΠΏΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ elasticsearch для раздСлСния ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ (подробности см. здСсь)

install_type: <package | archive> (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: archive)

  • package: поддСрТиваСтся дистрибутивами Debian ΠΈ Redhat, установка ΠΏΠ°ΠΊΠ΅Ρ‚Π° Elasticsearch ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ рСпозитория управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ.
    • ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ установки опрСдСляСтся систСмой управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ ΠΈ Π² настоящСС врСмя ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ устанавливаСтся Π² /usr/share для ΠΎΠ±ΠΎΠΈΡ… дистрибутивов. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ дистрибутивы Linux ΠΏΡ€ΠΈΠ²Π΅Π΄ΡƒΡ‚ ΠΊ сбою ΠΈΠ·-Π·Π° отсутствия ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ.
  • archive: совмСстимо с tar ΠΈ zip Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ, Π°Ρ€Ρ…ΠΈΠ²Π½Ρ‹Π΅ установки Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… сТатых Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² ΠΊΠ°ΠΊ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ/Ρ€Π΅Π»ΠΈΠ·ΠΎΠ², Ρ‚Π°ΠΊ ΠΈ ΠΈΠ· разработчСских/настраиваСмых источников.

install_dir: </ΠΏΡƒΡ‚ΡŒ/ΠΊ/ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ/установки> (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: /opt/elasticsearch)

  • ΠΏΡƒΡ‚ΡŒ Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΌ хостС, Π³Π΄Π΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ elasticsearch Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Ρ‹.

archive_url: <ΠΏΡƒΡ‚ΡŒ-ΠΈΠ»ΠΈ-url-ΠΊ-Π°Ρ€Ρ…ΠΈΠ²Ρƒ> (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: см. defaults/main.yml)

  • адрСс сТатого tar ΠΈΠ»ΠΈ zip Π°Ρ€Ρ…ΠΈΠ²Π°, содСрТащСго Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ elasticsearch. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ тСхничСски ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ установку любой доступной вСрсии elasticsearch. Бсылки Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ вСрсии ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ здСсь.

archive_checksum: <ΠΏΡƒΡ‚ΡŒ-ΠΈΠ»ΠΈ-url-ΠΊ-Ρ…Π΅ΡˆΡƒ> (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: см. defaults/main.yml)

  • адрСс Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π°Ρ€Ρ…ΠΈΠ²Π°. Π₯отя это рСкомСндуСтся ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ считаСтся Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ, ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΏΡƒΡ‚Π΅ΠΌ указания пустой строки ('') для Π΅Π΅ значСния.

package_url: <ΠΏΡƒΡ‚ΡŒ-ΠΈΠ»ΠΈ-url-ΠΊ-ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ> (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: см. defaults/main.yml)

  • адрСс Debian ΠΈΠ»ΠΈ RPM ΠΏΠ°ΠΊΠ΅Ρ‚Π°, содСрТащСго исходныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ elasticsearch. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ структура установки опрСдСляСтся систСмами управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ. ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Elastic для Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ установки ΠΊΠ°ΠΊ RPM, Ρ‚Π°ΠΊ ΠΈ Debian.

package_checksum: <ΠΏΡƒΡ‚ΡŒ-ΠΈΠ»ΠΈ-url-ΠΊ-Ρ…Π΅ΡˆΡƒ> (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: см. vars/...)

  • адрСс Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°. Π₯отя это рСкомСндуСтся ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ считаСтся Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ, ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΏΡƒΡ‚Π΅ΠΌ указания пустой строки ('') для Π΅Π΅ значСния.

checksum_format: <строка> (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: см. sha512)

  • Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ суммы Π°Ρ€Ρ…ΠΈΠ²Π° ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… суммах/криптографичСских Ρ…Π΅ΡˆΠ°Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ здСсь.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ elasticsearch выраТаСтся Π² 3 Ρ„Π°ΠΉΠ»Π°Ρ…:

  • elasticsearch.yml для настройки Elasticsearch
  • jvm.options для настройки JVM ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Elasticsearch
  • log4j2.properties для настройки логирования Elasticsearch

Π­Ρ‚ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ находятся Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ, зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, примСняСтся Π»ΠΈ установка ΠΈΠ· Π°Ρ€Ρ…ΠΈΠ²Π½ΠΎΠ³ΠΎ дистрибутива (tar.gz ΠΈΠ»ΠΈ zip) ΠΈΠ»ΠΈ дистрибутива ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (Debian ΠΈΠ»ΠΈ RPM).

Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… подробностСй ΠΈ прСдставлСния ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ каТдая конфигурация, см. ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Elastic ΠΏΠΎ настройкС.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ для управлСния мСстополоТСниСм ΠΈ содСрТаниСм этих ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²:

config_dir: </ΠΏΡƒΡ‚ΡŒ/ΠΊ/ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ/ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ> (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: /opt/elasticsearch/config)

  • ΠΏΡƒΡ‚ΡŒ Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΌ хостС, Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹

managed_configs: <список ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ для управлСния> (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: см. defaults/main.yml)

  • список ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слСдуСт ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой Ρ€ΠΎΠ»ΠΈ Ansible

    Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅ значСния: Π»ΡŽΠ±Ρ‹Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΈΠ·:

    • elasticsearch_config
    • jvm_options
    • log4j_properties

config: <Ρ…Π΅Ρˆ-настроСк-elasticsearch> ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: {}

  • ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ настройки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ спСцифичны для ΡƒΠ·Π»Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, node.name ΠΈ paths), ΠΈΠ»ΠΈ настройки, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΡƒΠ·Π»Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ ΠΊ кластСру.

Π›ΡŽΠ±Π°Ρ настройка/ΠΏΠ°Ρ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, поддСрТиваСмая elasticsearch, Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π° Π² Ρ…Π΅ΡˆΠ΅ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ YAML ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. ЗначСния ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ yaml/ansible (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, строки, числа ΠΈ true/false значСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ написаны ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ ΠΈ Π±Π΅Π· ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ).

ΠšΠ»ΡŽΡ‡ΠΈ Ρ…Π΅ΡˆΠ° config ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΈ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ:

config:
  node.name: example-node
  path:
    logs: /var/log/elasticsearch

Бписок настраиваСмых ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ здСсь.

jvm_options: <список-словарСй> ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: []

  • ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ способ установки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² JVM (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ систСмныС свойства ΠΈ Ρ„Π»Π°Π³ΠΈ JVM) β€” Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» jvm.options. Π€Π°ΠΉΠ» состоит ΠΈΠ· списка Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… строками, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для измСнСния повСдСния JVM Elasticsearch.

Π₯отя Π²Π°ΠΌ Ρ€Π΅Π΄ΠΊΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Java Virtual Machine (JVM); ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ситуации (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, нСдостаточноС Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти), Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ. КаТдая строка, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π° ΠΊΠ°ΠΊ запись Π² спискС словарСй, содСрТащихся Π² jvm_options, состоящСм ΠΈΠ· Ρ…Π΅ΡˆΠ°, состоящСго ΠΈΠ· Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ поля comment ΠΈ списка ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² для настройки:

jvm_options:
  - comment: ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΡƒΡ‡ΠΈ JVM (Π² ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)
    arguments:
      - '-Xms1g'
      - '-Xmx1g'

Бписок доступных Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ здСсь.

log4j_properties: <список-словарСй> ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: []

  • Elasticsearch ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ систСму логирования Apache log4j 2 для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ управлСния Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ своих основных ΠΈ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ настройки ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΊΠ°ΠΊ Π² глобальном, Ρ‚Π°ΠΊ ΠΈ Π² ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ порядкС для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, опрСдСляя настройки ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, связанныС с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ аспСктами процСсса логирования. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ log4j 2 Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Ρ„Π°ΠΉΠ» log4j2.properties, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ состоит ΠΈΠ· свойств, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… строками, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΏΠ°Ρ€Ρƒ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

3 свойства ${sys:es.logs.base_path}, ${sys:es.logs.cluster_name} ΠΈ ${sys:es.logs.node_name} ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ для Elasticsearch ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ упомянуты Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ для опрСдСлСния мСстополоТСния этого Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Π° ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ…. Бвойство ${sys:es.logs.base_path} Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ логирования, ${sys:es.logs.cluster_name} β€” ΠΊΠ°ΠΊ имя кластСра (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ прСфикс ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² Π»ΠΎΠ³ΠΎΠ² Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), Π° ${sys:es.logs.node_name} β€” ΠΊΠ°ΠΊ имя ΡƒΠ·Π»Π° (Ссли имя ΡƒΠ·Π»Π° явно ΡƒΠΊΠ°Π·Π°Π½ΠΎ).

КаТдая строка, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π° ΠΊΠ°ΠΊ запись Π² спискС словарСй, содСрТащихся Π² log4j_properties, состоящСм ΠΈΠ· Ρ…Π΅ΡˆΠ°, содСрТащСго Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ comment ΠΈ список ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ°Ρ€ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

log4j2_properties:
  - comment: Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ошибки выполнСния логирования для упрощСния ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ
    settings:
      - logger.action.name: org.elasticsearch.action
        logger.action.level: debug

Π‘ΠΌ. ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Elastic ΠΏΠΎ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ для получСния Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ спискС доступных ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ эта конфигурация.

data_dir: </ΠΏΡƒΡ‚ΡŒ/ΠΊ/ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ/Π΄Π°Π½Π½Ρ‹Ρ…> (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: /var/data/elasticsearch)

  • ΠΏΡƒΡ‚ΡŒ Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΌ хостС, Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π΄Π°Π½Π½Ρ‹Π΅, созданныС слуТбой Elasticsearch (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, индСксированныС записи)

logs_dir: </ΠΏΡƒΡ‚ΡŒ/ΠΊ/ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ/Π»ΠΎΠ³ΠΎΠ²> (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: /var/log/elasticsearch)

  • ΠΏΡƒΡ‚ΡŒ Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΌ хостС, Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π»ΠΎΠ³ΠΈ, создаваСмыС слуТбой Elasticsearch

Запуск

Запуск слуТбы поиска ΠΈ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ elasticsearch вмСстС с Π΅Π΅ API-сСрвСром осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструмСнта управлСния слуТбами systemd ΠΊΠ°ΠΊ для установки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Ρ‚Π°ΠΊ ΠΈ Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ². ЗапущСнная ΠΊΠ°ΠΊ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ процСсс ΠΈΠ»ΠΈ Π΄Π΅ΠΌΠΎΠ½Ρ‹, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ возмоТностям выполнСния, прСдоставлСнным основной ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ структурой, запуск elasticsearch ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ настроСн Π² соотвСтствии с административными ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°ΠΌΠΈ систСмы, подходящими для вашСй срСды ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ для управлСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ сСрвисного ΡŽΠ½ΠΈΡ‚Π° ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΌ/ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎΠΉ выполнСния слуТбы systemd:

extra_run_args: <ΠΎΠΏΡ†ΠΈΠΈ-elasticsearch-cli> (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: [])

  • список Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки elasticsearch, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ Π²ΠΎ врСмя выполнСния для настройки запуска. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ cli elasticsearch, эта пСрСмСнная позволяСт Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ запуск Π² соотвСтствии со спСцификациями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

custom_unit_properties: <Ρ…Π΅Ρˆ-настроСк-сСрвиса-systemd> (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: [])

  • Ρ…Π΅Ρˆ настроСк, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для настройки ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ срСды выполнСния ΡŽΠ½ΠΈΡ‚Π° слуТбы Elasticsearch systemd.
custom_unit_properties:
  Environment: "ES_HOME={{ install_dir }}"
  LimitNOFILE: infinity

Π‘ΠΌ. страницу man systemd.service для ΠΎΠ±Π·ΠΎΡ€Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ справки.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° удалСния ΠΈ удалСния Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для развСртывания, позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ/ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ хост ΠΊ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ, ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ этой Ρ€ΠΎΠ»ΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΡƒΠ·Π»ΠΎΠ² ΠΈ Ρ€ΠΎΠ»Π΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ для Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ/управляСмого ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρƒ обновлСниями инструмСнтов.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ пСрСмСнная(Ρ‹Π΅) ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ настроСны для управлСния этим процСссом удалСния:

perform_uninstall: <true | false> (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: false)

  • Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ ΠΈ остатки этой установки elasticsearch Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΌ хостС (см.: handlers/main.yml для подробностСй)

Зависимости

  • 0x0i.systemd

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠ»Π΅ΠΉΠ±ΡƒΠΊΠ°

ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

- hosts: all
  roles:
  - role: 0x0I.elasticsearch

ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° дистрибутива ОБ с ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ настройками ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

- hosts: legacy-ES-cluster
  roles:
  - role: 0x0I.elasticsearch
    vars:
        managed_configs: []
        install_type: package
        package_url: https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/rpm/elasticsearch/2.0.0/elasticsearch-2.0.0.rpm
        package_checksum: https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/rpm/elasticsearch/2.0.0/elasticsearch-2.0.0.rpm.sha1
        checksum_format: sha1

Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹ΠΉ мастСр/Π΄Π°Π½Π½Ρ‹Π΅ ΡƒΠ·Π΅Π» с настроСнными дирСкториями для Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ логирования:

- hosts: test-elasticsearch
  roles:
    - role: 0x0I.elasticsearch
      vars:
        managed_configs: ['elasticsearch_config']
        config:
          cluster.name: example-cluster
          node.master: true
          node.data: true
          path:
            data: /mnt/data/elasticsearch
            logs: /mnt/logs/elasticsearch

ΠΏΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ настройки ΠΊΡƒΡ‡ΠΈ JVM ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ/устранСния Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ кластСра:

- hosts: elasticsearch
  roles:
    - role: 0x0I.elasticsearch
      vars:
        managed_configs: ['jvm_options', 'log4j2_properties']
        jvm_options:
          - comment: ΠΏΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΡƒΡ‡ΠΈ JVM для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ объСма Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…
            arguments:
              - '-Xms16g'
              - '-Xmx16g'
        log4j2_properties:
          - comment: Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ошибки выполнСния дСйствий для упрощСния ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ
            settings:
              - logger.action.name: org.elasticsearch.action
                logger.action.level: debug
        extra_run_args:
          - '--verbose'

ЛицСнзия

MIT

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎΠ± Π°Π²Ρ‚ΠΎΡ€Π΅

Π­Ρ‚Π° Ρ€ΠΎΠ»ΡŒ Π±Ρ‹Π»Π° создана Π² 2019 Π³ΠΎΠ΄Ρƒ O1.IO.

О ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅

Elasticsearch, a real-time distributed search and analytics engine

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ
ansible-galaxy install 0x0i.elasticsearch
ЛицСнзия
Unknown
Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ
459
Π’Π»Π°Π΄Π΅Π»Π΅Ρ†