GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Uso de Ansible para instalar y configurar Elasticsearch en Ubuntu 20.04

Elasticsearch es un motor de análisis y búsqueda distribuido basado en Apache Lucene. Proporciona un motor de búsqueda de texto completo distribuido y con capacidad para múltiples inquilinos con una interfaz web HTTP y documentos JSON sin esquema. Elasticsearch se ha convertido rápidamente en el motor de búsqueda más popular y se usa comúnmente para análisis de registros, búsqueda de texto completo, inteligencia de seguridad, análisis de negocios e inteligencia operativa.

Ansible es una herramienta de implementación de aplicaciones, administración de configuración y aprovisionamiento de software de código abierto que habilita la infraestructura como código. Se ejecuta en muchos sistemas similares a Unix y puede configurar tanto sistemas similares a Unix como Microsoft Windows.

Contenido relacionado

  • Cómo instalar y configurar Elasticsearch en Ubuntu 20.04
  • Cómo instalar y configurar Elasticsearch en Debian 11

Requisitos

Para seguir, asegúrese de tener:

  • Un servidor Ubuntu 20.04 actualizado con al menos 2 GB de RAM y 2 núcleos
  • Acceso raíz al servidor o usuario con acceso sudo
  • Acceso a Internet desde el servidor
  • Ansible instalado en el sistema local

Tabla de contenido

  1. Asegurarse de que el servidor esté actualizado
  2. Instalando algunos paquetes necesarios para la configuración
  3. Importar la clave PGP de Elasticsearch
  4. Instalar Elasticsearch desde el repositorio de APT
  5. Controladores de configuración
  6. Crear archivo de hosts
  7. Todo el libro de jugadas
  8. Ejecución del libro de jugadas de Ansible

1. Asegurarse de que el servidor esté actualizado

Antes de continuar, asegúrese de que el servidor esté actualizado con estas tareas. Primero actualizamos los repositorios y luego actualizamos todos los paquetes.

- 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. Instalando los paquetes necesarios

A continuación, instalemos algunos paquetes comunes que necesitaremos en nuestro libro de jugadas. El paquete wget se utilizará para descargar algunos archivos.

- name: Install required packages
  dnf:
    name:
      - vim
      - wget
    state: present

3. Importar la clave PGP de Elasticsearch

Elasticsearch firma todos sus paquetes con la clave de firma de Elasticsearch. Descargue e instale la clave de firma pública con este rol:

- name: Import the Elasticsearch PGP Key
  shell: |
    wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
  args:
    warn: no

4. Instale Elasticsearch desde el repositorio de APT

Necesitamos crear un archivo de definición de repositorio ya que Elasticsearch no está disponible de forma predeterminada. Luego podemos instalar la búsqueda elástica después de actualizar el caché de apt.

- 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

En lo anterior, también estamos notificando a los controladores para Iniciar Elasticsearch y Habilitar Elasticsearch.

5. Configurar controladores

Los controladores son como tareas normales en un libro de jugadas de Ansible, pero se ejecutan solo si la tarea contiene una directiva de "notificación" . También indica que cambió algo.

Configuremos controladores para la instalación de Elasticsearch y configuremos:

handlers:
  - name: Start Elasticsearch
    systemd:
      name: elasticsearch
      state: started

  - name: Enable Elasticsearch
    systemd:
      name: elasticsearch
      enabled: yes

6. Creando el archivo de hosts

Ansible ejecutará las tareas contra algún inventario. El inventario del servidor se agregará como hosts.yaml archivo que define cómo se alcanzará a los servidores. Este es mi archivo de hosts:

all:
  hosts:
    elastsrv:
      ansible_ssh_host: 10.2.11.10
      ansible_ssh_user: ubuntu

7. Todo el libro de jugadas

Este es todo el libro de jugadas. Guárdelo como 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. Ejecutar el libro de jugadas de ansible

Para ejecutar el libro de jugadas de ansible, necesita tener ansible instalado localmente. Puede instalar ansible usando el administrador de paquetes del sistema operativo o, si tiene python pip, puede usarlo:

sudo pip install ansible

También necesita tener acceso ssh al servidor. Asegúrese de configurar la conexión con el servidor. Estoy usando la autenticación de clave ssh y ssh funciona para mí usando este comando:

ssh [email protected]

Ahora puede ejecutar el libro de jugadas usando este comando:

ansible-playbook -i hosts.yaml elasticsearch.yaml -vv

Una vez que el libro de jugadas termine de ejecutarse, puede acceder al servidor de Elasticsearch instalado en el servidor.


Ubuntu
  1. Cómo instalar y configurar Ansible en Windows

  2. Cómo instalar y configurar Ansible en Ubuntu 18.04 LTS

  3. Cómo usar Ansible para instalar y configurar Redis 6 en Ubuntu 20.04

  4. Cómo instalar y configurar Elasticsearch en Ubuntu 20.04

  5. Cómo instalar y configurar Elasticsearch en Ubuntu 18.04

Instalar y configurar el servidor de monitoreo Graylog Ubuntu 20.04

Instalar y configurar Git en Ubuntu 16.04

Instalar y configurar Fail2ban en Ubuntu 20.04

Cómo instalar Ansible en Ubuntu 20.04

Cómo instalar y configurar Ansible en Ubuntu

Cómo instalar y configurar Elasticsearch en Ubuntu 20.04