Elasticsearch je distribuovaný vyhledávací a analytický nástroj postavený na Apache Lucene. Poskytuje distribuovaný fulltextový vyhledávač s možností více nájemců s webovým rozhraním HTTP a dokumenty JSON bez schémat. Elasticsearch se rychle stal nejoblíbenějším vyhledávačem a běžně se používá pro analýzy protokolů, fulltextové vyhledávání, bezpečnostní zpravodajství, obchodní analytiku a provozní případy použití.
Ansible je nástroj pro poskytování, správu konfigurace a nasazení aplikací s otevřeným zdrojovým kódem umožňující infrastrukturu jako kód. Běží na mnoha systémech podobných Unixu a může konfigurovat systémy podobné Unixu i Microsoft Windows.
Související obsah
- Jak nainstalovat a nakonfigurovat Elasticsearch na Ubuntu 20.04
- Jak nainstalovat a nakonfigurovat Elasticsearch na Debian 11
Předpoklady
Chcete-li pokračovat, ujistěte se, že máte:
- Aktualizovaný server Ubuntu 20.04 s alespoň 2 GB RAM a 2 jádry
- Kořenový přístup k serveru nebo uživateli s přístupem sudo
- Přístup k internetu ze serveru
- Ansible nainstalovaný v místním systému
Obsah
- Zajištění aktuálnosti serveru
- Instalace některých balíčků nezbytných pro nastavení
- Importujte klíč Elasticsearch PGP
- Nainstalujte Elasticsearch z úložiště APT
- Nastavovací obslužné nástroje
- Vytvořte soubor hostitelů
- Celou příručku
- Spuštění příručky Ansible
1. Zajištění aktuálnosti serveru
Než budete pokračovat, ujistěte se, že je server pomocí těchto úloh aktuální. Nejprve aktualizujeme repozitáře a poté upgradujeme všechny balíčky.
- name: Update apt repo and cache on Ubuntu box
apt:
update_cache: yes
force_apt_get: yes
cache_valid_time: 3600
- name: Upgrade all packages on servers
apt:
upgrade: dist
force_apt_get: yes
2. Instalace potřebných balíčků
Dále nainstalujme některé běžné balíčky, které budeme potřebovat v našem playbooku. Ke stažení některých souborů bude použit balíček wget.
- name: Install required packages
dnf:
name:
- vim
- wget
state: present
3. Importujte klíč Elasticsearch PGP
Elasticsearch podepisuje všechny své balíčky pomocí podpisového klíče Elasticsearch. Stáhněte a nainstalujte veřejný podpisový klíč pomocí této role:
- name: Import the Elasticsearch PGP Key
shell: |
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
args:
warn: no
4. Nainstalujte Elasticsearch z úložiště APT
Potřebujeme vytvořit definiční soubor úložiště, protože Elasticsearch není ve výchozím nastavení k dispozici. Po aktualizaci mezipaměti apt pak můžeme nainstalovat elastické vyhledávání.
- name: Add repository defiition
copy:
dest: /etc/apt/sources.list.d/elastic-7.x.list
content: |
deb https://artifacts.elastic.co/packages/7.x/apt stable main
- name: Install the Elasticsearch package
apt:
name: elasticsearch
state: present
update_cache: yes
notify:
- Start Elasticsearch
- Enable Elasticsearch
Ve výše uvedeném také upozorňujeme obslužné pracovníky, aby Spustili elastické vyhledávání a Povolili elastické vyhledávání.
5. Nastavte obslužné nástroje
Obslužné rutiny jsou stejné jako běžné úlohy v příručce Ansible, ale spustí se pouze tehdy, pokud úloha obsahuje příkaz „notify“ . To také naznačuje, že se něco změnilo.
Pojďme nastavit ovladače pro instalaci Elasticsearch a nastavit:
handlers:
- name: Start Elasticsearch
systemd:
name: elasticsearch
state: started
- name: Enable Elasticsearch
systemd:
name: elasticsearch
enabled: yes
6. Vytvoření souboru hosts
Ansible provede úkoly proti nějakému inventáři. Inventář serveru bude přidán jako hosts.yaml
soubor, který definuje, jak budou servery dostupné. Toto je můj soubor hostitelů:
all:
hosts:
elastsrv:
ansible_ssh_host: 10.2.11.10
ansible_ssh_user: ubuntu
7. Celá příručka
Toto je celá příručka. Uložte jej jako elasticsearch.yaml
---
- name: Install Elasticsearch on Ubuntu
hosts: elastsrv
become: yes
gather_facts: False
tasks:
- name: Update apt repo and cache on all Ubuntu box
apt:
update_cache: yes
force_apt_get: yes
cache_valid_time: 3600
- name: Upgrade all packages on servers
apt:
upgrade: dist
force_apt_get: yes
- name: Set hostname
hostname:
name: elastsrv.citizix.com
- name: Install Common packages
apt:
name:
- vim
- wget
state: latest
- name: Import the Elasticsearch PGP Key
shell: |
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
args:
warn: no
- name: Add repository defiition
copy:
dest: /etc/apt/sources.list.d/elastic-7.x.list
content: |
deb https://artifacts.elastic.co/packages/7.x/apt stable main
- name: Install the Elasticsearch package
apt:
name: elasticsearch
state: present
update_cache: yes
notify:
- Start Elasticsearch
- Enable Elasticsearch
handlers:
- name: Start Elasticsearch
systemd:
name: elasticsearch
state: started
- name: Enable Elasticsearch
systemd:
name: elasticsearch
enabled: yes
8. Spuštění ansible playbook
Chcete-li spustit příručku ansible, musíte lokálně nainstalovat ansible. Ansible můžete nainstalovat pomocí správce balíčků OS nebo pokud máte python pip, můžete jej použít:
sudo pip install ansible
Musíte mít také ssh přístup k serveru. Ujistěte se, že jste nastavili připojení k serveru. Používám ověřování pomocí klíče ssh a ssh mi funguje pomocí tohoto příkazu:
ssh [email protected]
Nyní můžete spustit playbook pomocí tohoto příkazu:
ansible-playbook -i hosts.yaml elasticsearch.yaml -vv
Jakmile se playbook dokončí, můžete přistupovat k serveru Elasticsearch nainstalovanému na serveru.