Elasticsearch es un motor de análisis y búsqueda de texto completo distribuido de código abierto. Admite operaciones RESTful y le permite almacenar, buscar y analizar grandes volúmenes de datos en tiempo real. Elasticsearch es uno de los motores de búsqueda más populares que impulsa aplicaciones que tienen requisitos de búsqueda complejos, como grandes tiendas de comercio electrónico y aplicaciones analíticas.

Esta guía explica cómo instalar Elasticsearch en Ubuntu 20.04.

Instalación de Elasticsearch

Instalar Elasticsearch en Ubuntu es bastante sencillo. Habilitaremos el repositorio de Elasticsearch, importaremos la clave GPG del repositorio e instalaremos el servidor de Elasticsearch.

El paquete de Elasticsearch se envía con una versión integrada de OpenJDK, por lo que no es necesario que instale Java.

Primero, actualice el índice de paquetes e instale las dependencias necesarias para agregar un nuevo repositorio HTTPS :

sudo apt updatesudo apt install apt-transport-https ca-certificates wget

Importa la clave GPG del repositorio:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

El comando anterior debería generar OK, lo que significa que la clave se ha importado correctamente y los paquetes de este repositorio se considerarán confiables.

A continuación, agregue el repositorio de Elasticsearch al sistema emitiendo:

sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
Si desea instalar una versión anterior de Elasticsearch, cambie 7.xel comando anterior con la versión que necesita.

Una vez que el repositorio esté habilitado, instale Elasticsearch escribiendo:

sudo apt updatesudo apt install elasticsearch

El servicio Elasticsearch no se iniciará automáticamente una vez que se complete el proceso de instalación. Para iniciar el servicio y habilitar la ejecución del servicio:

sudo systemctl enable --now elasticsearch.service

Para verificar que Elasticsearch se está ejecutando, use curl para enviar una solicitud HTTP al puerto 9200en localhost:

curl -X GET "localhost:9200/"

Deberías ver algo similar a esto:

{
  "name" : "vagrant",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "IJqDxPfXSrmFQ27KbXbRIg",
  "version" : {
    "number" : "7.8.0",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
    "build_date" : "2020-06-14T19:35:50.234439Z",
    "build_snapshot" : false,
    "lucene_version" : "8.5.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

El servicio puede tardar entre 5 y 10 segundos en iniciarse. Si ve curl: (7) Failed to connect to localhost port 9200: Connection refused, espere unos segundos y vuelva a intentarlo.

Para ver los mensajes registrados por el servicio Elasticsearch, use el siguiente comando:

sudo journalctl -u elasticsearch

Eso es. Elasticsearch se ha instalado en su servidor Ubuntu.

Configuración de Elasticsearch

Los datos de Elasticsearch se almacenan en el /var/lib/elasticsearchdirectorio. Los archivos de configuración se encuentran en /etc/elasticsearchy las opciones de inicio de Java se pueden configurar en el /etc/default/elasticsearcharchivo.

De manera predeterminada, Elasticsearch está configurado para escuchar solo en localhost. Si el cliente que se conecta a la base de datos también se ejecuta en el mismo host y está configurando un clúster de un solo nodo, no necesita cambiar el archivo de configuración predeterminado.

Acceso remoto

Elasticsearch, listo para usar, no implementa la autenticación, por lo que cualquiera que pueda acceder a la API HTTP puede acceder a él.

Para permitir el acceso remoto a su servidor de Elasticsearch, deberá configurar su firewall y abrir el puerto TCP 6379.

Por lo general, querrá permitir el acceso al servidor de Redis solo desde una dirección IP o rango de IP específico. Por ejemplo, para permitir conexiones solo desde la 192.168.121.0/24subred, ejecutaría el siguiente comando:

sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379

Una vez que se configura el firewall, el siguiente paso es editar la configuración de Elasticsearch y permitir que Elasticsearch escuche las conexiones externas.

Para hacerlo, abra el elasticsearch.ymlarchivo de configuración:

sudo nano /etc/elasticsearch/elasticsearch.yml

Busque la línea que contiene network.host, elimínela y cambie el valor a 0.0.0.0:

/etc/elasticsearch/elasticsearch.yml
network.host: 0.0.0.0

Si tiene varias interfaces de red en su máquina, especifique la dirección IP de la interfaz para obligar a Elasticsearch a escuchar solo la interfaz dada.

Reinicie el servicio Elasticsearch para que los cambios surtan efecto:

sudo systemctl restart elasticsearch

Eso es. Ahora puede conectarse al servidor de Elasticsearch desde su ubicación remota.

Conclusión

Le mostramos cómo instalar Elasticsearch en Ubuntu 20.04.

Para obtener más información sobre Elasticsearch, visite la página de documentación oficial .

Si encuentra un problema o tiene comentarios, deje un comentario a continuación.