Introducción a Elasticsearch
- Prefacio
- 1. Implementar Elasticsearch en el entorno Windows
- 2. Implementar Elasticsearch en el entorno Liunx
-
- Instale Elasticsearch 7.17.11 y configure
- 1. Descargue la base de datos es y cárguela en el servidor.
- 2. Cree usuarios y grupos de Elasticsearch
- 3. Configuración del sistema
- 4. Modificar la configuración de Elasticsearch
- 5. Establecer permisos de directorio
- 6. Inicie el servicio Elasticsearch.
- 7. Abrir puertos de firewall
Prefacio
Este artículo se basa en el documento oficial: La instalación de Elasticsearch
se basa en varios métodos de instalación oficiales para diferentes entornos. Este artículo elegirá
-
Instale Elasticsearch con .zip en Windows
Instale Elasticsearch en Windows usando el archivo .zip -
Instale Elasticsearch desde un archivo en Linux o MacOS
Instale Elasticsearch desde un archivo en Linux o macOS -
Instale Elasticsearch con Docker (este método está por determinar)
Utilice Docker para instalar Elasticsearch
1. Implementar Elasticsearch en el entorno Windows
-
Referencia de texto: Instale Elasticsearch con .zip en Windows
-
Descargar Elasticsearch v7.9.3 : Elasticsearch v7.9.3
1.1 Descargue y descomprima el paquete comprimido de Elasticsearch
Descomprímelo con tu herramienta de descompresión favorita. Esto creará una carpeta llamada elasticsearch-7.9.3, a la que nos referiremos como %ES_HOME%. En una ventana de terminal, vaya al directorio %ES_HOME%, por ejemplo:
Configure el directorio de descompresión como el directorio de inicio de es e 在 elasticsearch-7.9.3文件夹地址栏输入cmd
ingrese la línea de comando
1.2 Inicie elasticsearch desde la línea de comando
-
Iniciar búsqueda elástica
Ejecutando Elasticsearch desde la línea de comando. Elasticsearch se puede iniciar desde la línea de comando de la siguiente manera :.\bin\elasticsearch.bat
-
Página de inicio
-
Lanzar página de éxito
1.3 Verificar si elasticsearch se inició correctamente
Comprobar que Elasticsearch se está ejecutando
Puede probar que su nodo Elasticsearch se está ejecutando enviando una solicitud HTTP al puerto 9200 en localhost: Comprobar que Elasticsearch se está ejecutando Puede probar que su nodo Elasticsearch se está ejecutando enviando una solicitud HTTP al puerto 9200 en localhost: :
win+r输入cmd
Después de presionar Enter, ingrese la siguiente URL de solicitud
curl -X GET "localhost:9200/?pretty"
Indica inicio exitoso
o ingrese en la barra de direcciones del navegador:localhost:9200
1.4 Cerrar Elasticsearch
-
Ctrl+C detiene Elasticsearch
De forma predeterminada, Elasticsearch se ejecuta en primer plano, imprime sus registros en STDOUT yCtrl-C
se detener presionando Ctrl-C. -
Verifique si se ha cerrado (cerrar directamente la ventana de línea de comando anterior también puede detener es)
1.5 Instalar Elasticsearch como servicio en Windows
Elasticsearch se puede instalar como un servicio para ejecutarse en segundo plano o iniciarse automáticamente en el momento del arranque sin ninguna interacción del usuario. Esto se puede lograr a través del script elasticsearch-service.bat en la carpeta bin\ que permite instalar, eliminar, administrar o configure el servicio y potencialmente inicie y detenga el servicio, todo desde la línea de comandos.
Elasticsearch se puede instalar como un servicio后台运行或在启动时自动启动
, sin ninguna interacción del usuario. Esto se logra a través del script elasticsearch-service.bat en la carpeta bin\, que le permite instalar, eliminar, administrar o configurar el servicio desde la línea de comando y también potencialmente iniciar y detener el servicio.
e:\elasticsearch-7.9.3\bin>elasticsearch-service.bat
Usage: elasticsearch-service.bat install|remove|start|stop|manager [SERVICE_ID]
El script requiere un parámetro (el comando a ejecutar) seguido de uno opcional que indica la identificación del servicio (útil al instalar múltiples servicios de Elasticsearch)可选参数
. Útil al instalar múltiples servicios de Elasticsearch)
Los siguientes son los comandos disponibles en el script elasticsearch-service.bat y sus descripciones:
Orden | describir |
---|---|
instalar | Instalar Elasticsearch como servicio |
eliminar | Elimine el servicio Elasticsearch instalado (detenga el servicio si está iniciado) |
comenzar | Inicie el servicio Elasticsearch (si está instalado) |
detener | Detenga el servicio Elasticsearch (si está iniciado) |
gerente | Abra la interfaz GUI para administrar los servicios instalados |
- Especifique el nombre del servicio a instalar.
Instalar como servicio. ID del servicio (务必唯一
): elasticsearch-9200-testelasticsearch-service.bat install elasticsearch-9200-test
- Iniciar o detener servicios desde la línea de comando
- Comienza el servicio
elasticsearch-service.bat start elasticsearch-9200-test
- Fuera de servicio
elasticsearch-service.bat stop elasticsearch-9200-test
- Comienza el servicio
- Inicie o detenga el servicio en la página de servicio.
Win+r y presione Enter e ingrese services.msc para ingresar a la lista de servicios. Haga clic derecho y seleccione Iniciar o Detener.
- Configúrelo para que se inicie automáticamente en el arranque.
Haga clic con el botón derecho en el nombre del servicio, haga clic en Propiedades y seleccione el tipo de inicio como Automático.
2. Implementar Elasticsearch en el entorno Liunx
Instale Elasticsearch 7.17.11 y configure
Este artículo describe cómo descargar e instalar Elasticsearch 7.17.11 en el sistema operativo Linux y realizar las configuraciones necesarias. El proceso de configuración e inicio en centos o unbuntu es básicamente el mismo, pero los scripts para puertos abiertos son diferentes.
1. Descargue la base de datos es y cárguela en el servidor.
Primero, visite la página de descarga de Elasticsearch y descargue Elasticsearch 7.17.11.
Haga clic en "Descargar" y cargue el archivo descargado en el directorio especificado en el servidor.
En el servidor, descomprima Elasticsearch usando el siguiente comando:
tar -zxvf elasticsearch-7.17.11-linux-x86_64.tar.gz
2. Cree usuarios y grupos de Elasticsearch
Cree un usuario llamado "es" y un grupo llamado "es" y agregue el usuario al grupo:
# 新建群组es
groupadd es
# 新建用户es并指定群组为es
useradd -g es es
# 设置用户密码
passwd es
# usermod 将用户添加到某个组group
usermod -aG root es
3. Configuración del sistema
3.1 Modificar el número de identificadores de archivos y subprocesos
Para evitar errores causados por permisos bajos en descriptores de archivos creables propiedad del usuario de Elasticsearch, debe modificar la cantidad de identificadores de archivos y subprocesos. Edite /etc/security/limits.conf
el archivo y agregue el siguiente contenido:
# 文件句柄
es soft nofile 65536
es hard nofile 65536
# 线程
es soft nproc 4096
es hard nproc 4096
保存退出后,需要重新启动系统
La configuración anterior es para resolver:
Informe de error: el número máximo de descriptores de archivos [4096] para el proceso de elasticsearch es demasiado bajo, aumente al menos a [65535]
Descripción del problema: el usuario de elasticsearch tiene permisos demasiado bajos para crear descripciones de archivos, se requiere al menos 65536;
3.2 Modificar la memoria virtual
Edite /etc/sysctl.conf
el archivo y agregue el siguiente contenido:
vm.max_map_count=262144
Después de guardar y salir, actualice el archivo de configuración:
sysctl -p
Verifique si la modificación fue exitosa:
sysctl vm.max_map_count
La configuración anterior es para resolver
el problema de error: las áreas máximas de memoria virtual vm.max_map_count [65530] son demasiado bajas, aumente al menos a [262144]
3.3 Cerrar el espacio de intercambio (Swap)
Recomendación oficial: dé la mitad de la memoria a Lucene + y no exceda los 32G + apague el intercambio.
ES recomienda apagar el espacio de intercambio de la memoria de intercambio y deshabilitar el intercambio. Porque cuando la memoria se intercambia en el disco, una operación de 100 microsegundos puede convertirse en 10 milisegundos, y luego se suma el retraso de la operación de 100 microsegundos. Se puede ver que el intercambio tiene un impacto fatal en el rendimiento.
vim /etc/fstab
El comentario contiene la línea de intercambio.
Antes del comentario:
保存退出后需要系统重启!
Después del comentario:
4. Modificar la configuración de Elasticsearch
Edite el archivo de configuración de Elasticsearch conf/elasticsearch.yml
y configúrelo según sus necesidades. A continuación se muestran algunos elementos de configuración de ejemplo:
# 禁用了 es 的机器学习功能(Machine Learning)减少资源消耗
xpack.ml.enabled: false
# 设置 Elasticsearch 集群的名称
cluster.name: es-single
# 设置当前 Elasticsearch 节点的名称
node.name: node
# 数据目录
path.data: /home/es/path/node/data
# 日志目录
path.logs: /home/es/path/node/logs
# 当前主机的 IP
network.host: 192.168.0.10
# 暴露的 HTTP 端口
http.port: 11700
# 暴露的 Transport 端口
transport.port: 11710
# 设置节点发现的种子主机列表
discovery.seed_hosts: ["192.168.0.10:11710"]
# 设置初始的主节点列表,新节点将联系这些主节点以加入集群
cluster.initial_master_nodes: ["node"]
5. Establecer permisos de directorio
Establezca el usuario y grupo al que pertenece el directorio de datos de Elasticsearch:
chown -R es:es /mnt/data/elasticsearch-7.17.11
6. Inicie el servicio Elasticsearch.
注意当前目录是在 ../elasticsearch-7.17.11
Cree un script para iniciar y detener el servicio Elasticsearch:
comienza-single.sh
#!/bin/bash
cd "$(dirname "$0")"
# -d:后台(daemon)方式运行 Elasticsearch
./bin/elasticsearch -d -p pid
stopes-single.sh
#!/bin/bash
cd "$(dirname "$0")"
if [ -f "pid" ]; then
pkill -F pid
fi
Otorgue permisos de ejecución a estos dos scripts:
chmod 755 startes-single.sh stopes-single.sh
chown es:es startes-single.sh stopes-single.sh
Luego, inicie el servicio Elasticsearch como usuario de Elasticsearch:
su - es
cd /mnt/data/elasticsearch-7.17.11
./startes-single.sh
7. Abrir puertos de firewall
CentOS
# 查看防火墙状态
systemctl status firewalld
# 查看开放的端口
firewall-cmd --query-port=9200/tcp
# 添加端口
firewall-cmd --zone=public --add-port=9200/tcp --permanent
# 重载防火墙
firewall-cmd --reload
# 再次查看端口是否已经开放
firewall-cmd --query-port=9200/tcp
ubuntu
# 查看防火墙状态
sudo ufw status
# 开放端口 9200
sudo ufw allow 9200/tcp
# 查看已添加的规则
sudo ufw status numbered
# 查看防火墙状态
sudo ufw status