Instalando Elasticsearch

Hoy empezamos con lo primero de todo, un documento donde veremos los pasos necesarios para dejar completamente desplegado Elasticsearch, lo que será nuestro almacén de datos para guardar los logs o métricas de los equipos, y luego atacaremos con Kibana o Grafana para visualizarlo!

Es gratis, es Open Source y basado en Java. Se encarga de almacenar los datos que le enviemos y de realizar las búsquedas (muy rápidas) de la información que tenemos almacenada. Como podremos comprender, es el corazón de Elastic Stack!

Elasticsearch es una de las herramientas más utilizadas últimamente en todo tipo de arquitecturas, y sobre todo del lado de los DevOps, se utiliza con el fin de hacer búsquedas en grandes cantidades de datos, como es el BigData 😛  Es un servidor de búsqueda basado en Lucene, provee un motor de búsqueda de texto completo, distribuido y multitenant mediante una interfaz web RESTful y con documentos JSON.

En cuanto a los requisitos, será una máquina que dependerá de cada escenario como es obvio, pensad que requerirá bastante disco para almacenar todo lo que le mandemos, necesitará mínimisimo 1-2vCPU con 4Gb de RAM, siendo recomendable meterle 4vCPUs y 8GB de RAM, pero lo iréis viendo; al igual que el disco, que 40Gb puede que los llenemos fácilmente.

Instalar Elasticsearch,

Empezamos! basamos la instalación en una máquina con Ubuntu 18.10 que tenemos actualizada y configurada con un direccionamiento IP estático. El proceso de instalación es bastante rápido. Comenzamos primero instalando los requisitos OpenJDK:

apt-get install openjdk-8-jre-headless
java -version

Y descargamos el paquete más reciente de Elasticsearch que querramos instalar, en el caso de este post usamos una 6.4.2, procedemos a instalarlo:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.1.deb
dpkg -i elasticsearch-6.6.1.deb

Editamos el fichero de configuración principal de Elasticsearch ‘/etc/elasticsearch/elasticsearch.yml’ y editamos al menos las siguientes entradas, que definirán el nombre del clúster, el nombre de este nodo y su dirección IP con la que dará servicio.

cluster.name: Nombre_Cluster
node.name: Nombre_Servidor
network.host: Dirección_IP_servidor

Deberemos modificar la variable del sistema ‘vm.max_map_count’ para darle más memoria virtual:

sysctl -w vm.max_map_count=262144

Iniciamos el servicio de Elasticsearch y lo configuramos para que inicie correctamente:

service elasticsearch start
systemctl enable elasticsearch

Si todo ha ido bien, podremos probarlo y verificar si el servicio está corriendo:

curl http://Dirección_IP:9200
Héctor Herrero
Últimas entradas de Héctor Herrero (ver todo)