Instalación de ElasticSearch en Amazon AWS Linux AMI

Como siempre, este Blog es un diario de algunas de las tareas que ejecuto.

Hace poco, realicé la instalación de ElasticSearch, para habilitar la búsqueda en nuestra plataforma Kanban.

En concreto, realicé la instalación de ElasticSearch en una instancia EC2 Amazon Linux AMI.

El proceso en sí, es MUY simple, pero me topé con un pequeño error causado por los recursos disponibles en el servidor.

Sin más, vamos al grano.



¿Qué es ElasticSearch?


Cómo lo describen en su página:

Elasticsearch es un motor de analítica y análisis distribuido y open source para todos los tipos de datos, incluidos textuales, numéricos, geoespaciales, estructurados y desestructurados.

https://www.elastic.co/


Como mencioné antes, realicé la implementación de ElasticSearch en Amazon EC2 como parte o complemento de un sistema que lo requería, sin embargo, este artículo, pretende abordar la instalación y sus posibles problemas de forma general.



¿Cómo instalar ElasticSearch en Amazon AWS Linux AMI?


ElasticSearch requiere Java para funcionar.

Asumiré que ya estás conectado a tu instancia de Amazon EC2, por medio de SSH.

Desde allí, realizaremos la instalación de Java:

sudo yum install java-1.8.0


Si recibes algún error, siempre puedes verificar versiones actuales de java en tu sistema:

yum list java*


Puedes verificar la instalación de Java:

java -version


En caso de problemas, eliminar cualquier versión existente:

sudo yum -y remove java*


Iniciamos la instalación de ElasticSearch:

sudo rpm -i https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-x86_64.rpm

Puedes instalar cualquiera de las versiones disponibles en Elasticsearch.


Registramos ElasticSearch como un servicio del sistema:

sudo chkconfig --add elasticsearch


Iniciamos el servicio:

sudo service elasticsearch start


Verificamos el éxito de la instalación:

curl localhost:9200/_cluster/health?pretty


Si todo ha salido bien, deberíamos ver algo como esto, en el terminal:

{ 
  “cluster_name” : “elasticsearch”, 
  “status” : “green”, 
  “timed_out” : false, 
  “number_of_nodes” : 3, 
  “number_of_data_nodes” : 3, 
  “active_primary_shards” : 8, 
  “active_shards” : 16, 
  “relocating_shards” : 0, 
  “initializing_shards” : 0, 
  “unassigned_shards” : 0, 
  “delayed_unassigned_shards” : 0, 
  “number_of_pending_tasks” : 0, 
  “number_of_in_flight_fetch” : 0, 
  “task_max_waiting_in_queue_millis” : 0, 
  “active_shards_percent_as_number” : 100.0 
}


Y ¡Wala! Hemos terminado la instalación de ElasticSearch en Amazon AWS Linux AMI.

Si necesitas acceso al archivo de configuración, lo encuentras en:

sudo nano /etc/elasticsearch/elasticsearch.yml



¿Por qué se produce el error tipo -XX:ParallelGCThreads=N?


Si al intentar iniciar ElasticSearch recibes un aviso, tipo:

OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N.


En resumen, es un error causado por la memoria disponible, por el tipo de instancia establecida en Amazon EC2.

En mi caso, al pasar de una instancia t2.micro a una t2.small, el error desapareció.

¿Te resultó útil el artículo? Compártelo. 😉

#HappyCoding

COMENTARIOS