GNU/Linux >> Tutoriales Linux >  >> Cent OS

Instale ElasticSearch en CentOS 7/Debian 9/Ubuntu 16.04/Linux Mint 18

Elasticsearch es un servidor de búsqueda de código abierto de nivel empresarial basado en Apache Lucene, ofrece análisis y búsqueda distribuidos en tiempo real con una interfaz web RESTful y documentos JSON sin esquema. Elasticsearch está desarrollado en Java y se publica bajo licencia Apache. Actualmente, ocupa el segundo lugar en el motor de búsqueda empresarial más popular, detrás de Apache Solr.

Esta guía lo ayudará a instalar Elasticsearch en CentOS 7 /Ubuntu 16.04 / Linux Mint 18 .

Requisitos

Como se dijo anteriormente, Elasticsearch está desarrollado en Java. Asegúrese de tener instalado el último JDK en su sistema. Siga los tutoriales a continuación para instalar Oracle JDK en Linux.

LEER :Cómo instalar Java JDK 8 en Ubuntu 16.04 / Linux Mint 18

LEER :Cómo instalar Java SDK 1.8 en RHEL 7 / CentOS 7

Verifique la versión de JDK instalada en el sistema.

java -version

Salida:

openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

Instalar Elasticsearch

Elasticsearch se puede descargar directamente desde el sitio web oficial, más que eso, ofrece un paquete binario preconstruido para RHEL y derivados de Debian.

Descargue e instale la clave de firma pública.

### Debian 9 / Ubuntu 16.04 & Linux Mint 18 ###

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

### RHEL 7 / CentOS 7 ###

# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Agregue y habilite el repositorio de Elasticsearch.

### Debian 9 / Ubuntu 16.04 & Linux Mint 18 ###

$ echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elk.list

### RHEL 7 / CentOS 7 ###

# cat <<EOF >> /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF

Instale Elasticsearch usando el siguiente comando.

### Debian 9 / Ubuntu 16.04 & Linux Mint 18 ###

$ sudo apt-get update 
$ sudo apt-get install -y elasticsearch

### RHEL 7 / CentOS 7 ###

# yum -y install elasticsearch

Configure Elasticsearch para que se inicie automáticamente durante el inicio del sistema.

### Debian 9 / Ubuntu 16.04 & Linux Mint 18 ###

$ sudo systemctl enable elasticsearch
$ sudo systemctl start elasticsearch

### RHEL 7 / CentOS 7 ###

# systemctl daemon-reload
# systemctl enable elasticsearch
# systemctl start elasticsearch

Configurar Elasticsearch

Los archivos de configuración de Elasticsearch se pueden encontrar en el directorio /etc/elasticsearch/; solo podía ver dos archivos, elasticsearch.yml y logging.yml.

logging.yml administra el registro de elasticsearch, y los archivos de registro se almacenan en el directorio /var/log/elasticsearch.

elasticsearch.yml es el archivo de configuración principal de elasticsearch, contiene la configuración predeterminada para ejecutar el clúster de producción.

Elasticsearch, de forma predeterminada, se vincula a todas las tarjetas de red (0.0.0.0) y escucha en el puerto 9200 - 9300 para el tráfico HTTP y en el 9300 - 9400 para la comunicación interna de nodo a nodo, los rangos significan que si el puerto está ocupado, pruebe automáticamente el siguiente puerto.

Edite el archivo elasticsearch.yml.

# vi /etc/elasticsearch/elasticsearch.yml

Para hacer que Elasticsearch escuche en una IP en particular, coloque la dirección IP en la siguiente sintaxis. Para proteger elasticsearch del acceso público, puede configurarlo para escuchar en localhost.

### Listening on particular IPv4 ###

network.bind_host: 192.168.0.1

### Disabling public access ###

network.bind_host: 127.0.0.1

Reinicie el servicio Elasticsearch.

# service elasticsearch restart

Una vez que haya reiniciado, espere al menos un minuto para permitir que Elasticsearch se inicie por completo. De lo contrario, la prueba fallará. Elastisearch ahora debería estar escuchando en 9200 para procesar la solicitud HTTP; usaremos CURL para obtener la respuesta.

# curl -X GET 'http://localhost:9200'

Debería obtener la respuesta como se muestra a continuación.

{
  "name" : "gf5QYAn",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "S6gZNkMERpSr-MGXqEFUJw",
  "version" : {
    "number" : "5.5.2",
    "build_hash" : "b2f0c09",
    "build_date" : "2017-08-14T12:33:14.154Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.0"
  },
  "tagline" : "You Know, for Search"
}

Alternativamente, puede usar un navegador para consultar Elasticsearch. Deberías ver lo mismo que viste usando curl.

Clúster de búsqueda elástica

Nombre del clúster

La configuración cluster.name se utiliza para descubrir y unirse automáticamente a otros nodos. Si un grupo de servidores de Elasticsearch en la misma red tiene el mismo nombre de clúster, se descubrirán entre sí. Asegúrese de cambiar el nombre de clúster predeterminado del servidor de Elasticsearch para evitar la unión automática de otros servidores en la misma red que no está bajo su control.

Si ejecuta varios clústeres de Elasticsearch en la misma red, asegúrese de utilizar nombres de clúster únicos.

cluster.name:<NAME OF YOUR CLUSTER>

Nombre de nodo

El nombre del nodo es como un nombre de host para el servidor de Elasticsearch, generado dinámicamente durante el inicio del servicio. Puede establecer su propio nombre configurando la siguiente sintaxis.

node.name: "<NAME OF YOUR NODE>"

No olvide reiniciar el servicio Elasticsearch.

# service elasticsearch restart

Uso de Elasticsearch

Agreguemos algunos datos a Elasticsearch. Podemos usar curl para hablar con Elasticsearch a través del puerto 9200 usando una API RESTful. Con curl, podemos leer, agregar, eliminar y actualizar los datos usando la API. Los documentos se almacenan en el siguiente formato

Elasticsearch  ⇒ Índices   ⇒ Tipos  ⇒ Documentos ⇒ Campos

Índices =Plural de un índice, donde se almacenan los datos de Elasticsearch.

Tipos =Contiene varios documentos, es como el tipo de datos.

Documentos =Contiene los campos de datos.

Campos =Datos detallados reales.

Añadir

Use el siguiente comando curl para agregar datos a nuestro Elasticsearch.

# curl -X POST 'http://localhost:9200/itzgeek/howtos/1' -d '{
"Title" : "Installing Elasticsearch",
"Date" :  "March 2015",
"Tag" :        "Ubuntu,CentOS,LinuxMint"
}'

Debería obtener la siguiente respuesta.

{"_index":"itzgeek","_type":"howtos","_id":"1","_version":1,"created":true}

donde

“itzgeek” es el índice del clúster de Elasticsearch.

“cómo” es el tipo de documento

“1” es el id de la entrada en howtos y el índice itzgeek.

Leer

Puede usar el siguiente comando para consultar los datos en Elasticsearch.

# curl -X GET 'http://localhost:9200/itzgeek/howtos/1'

Agregue ?pretty=true para obtener una salida con formato.

# curl -X GET 'http://localhost:9200/itzgeek/howtos/1?pretty=true'

La salida se verá como a continuación.

{
"_index" : "itzgeek",
"_type" : "howtos",
"_id" : "1",
"_version" : 1,
"found" : true,
"_source":{
"Title" : "Installing Elasticsearch",
"Date" :  "March 2015",
"Tag" :        "Ubuntu,CentOS,LinuxMint"
}
}

Actualizar

Para actualizar el documento completo, use el siguiente comando POST. No habrá cambios en el índice, tipo y documento; los campos tendrán un dato modificado.

# curl -X POST 'http://localhost:9200/itzgeek/howtos/1' -d '{
"Title" : "Installing LogStash",
"Date" :  "March 2015",
"Tag" :        "Ubuntu,CentOS,LinuxMint"
}'

La respuesta debería verse como a continuación, debería contener version:2 y creado:falso; significa que el documento ha sido actualizado.

{"_index":"itzgeek","_type":"howtos","_id":"1","_version":2,"created":false}

Eliminar

Utilice el siguiente comando para eliminar el documento.

# curl -X DELETE 'http://localhost:9200/itzgeek/howtos/1'

La respuesta se verá a continuación. Si se encuentra el documento, obtendrá encontrado:verdadero y versión incrementada .

{"found":true,"_index":"itzgeek","_type":"howtos","_id":"1","_version":3}

Si no se encuentra el documento, obtendrá encontrado:falso y versión incrementada .

{"found":false,"_index":"itzgeek","_type":"howtos","_id":"1","_version":4}

¡Eso es todo! Ha instalado y configurado correctamente Elasticsearch en Ubuntu 14.10/RHEL 7/Linux Mint 17.

Enlaces:

Elasticsearch =elastisearch.org

SetupGuide =Guía


Cent OS
  1. Cómo instalar Elasticsearch en Debian Linux

  2. Cómo instalar Ansible en CentOS 7/RHEL 7/Ubuntu 18.04/16.04 y Debian 9

  3. Cómo instalar Pip en Ubuntu 18.04, Debian 9 y Linux Mint 19

  4. Instale LibreOffice 3.5 en Ubuntu 11.10 / Linux Mint 12

  5. Cómo compilar e instalar wxWidgets en Ubuntu/Debian/Linux Mint

Cómo instalar Kubernetes en CentOS 7, Ubuntu 18.04/16.04 y Debian 9

Cómo instalar Visual Studio Code en Ubuntu 18.04 / Linux Mint 19 y Debian 9

Cómo instalar NetBeans IDE 12.4 en Ubuntu, Debian y Linux Mint

Descargue los paquetes Deb de Spotify para instalarlos en Ubuntu, Debian y Linux Mint

Cómo instalar NetBeans IDE 12 en Debian, Ubuntu y Linux Mint

Cómo instalar Wine 5.0 en Debian, Ubuntu y Linux Mint