1. Descripción general e instalación de Elasticsearch 8.X

Capítulo 1 Descripción general de Elasticsearch 8.X

1.1 Elasticsearch 8.X
Han pasado 3 años desde que se lanzó la última versión principal de Elasticsearch 7.0 en 2019. El 11 de febrero de 2022, Elasticsearch lanzó una nueva versión oficial 8.0, ¡que realmente nos dio una gran
sorpresa! En la nueva versión, al mejorar la función de búsqueda vectorial de Elasticsearch, el soporte nativo para los modelos modernos de procesamiento de lenguaje natural
, la simplificación continua del proceso de datos en línea y la optimización de la experiencia de protección de seguridad,
la búsqueda se ha vuelto más avanzada en términos de velocidad, expansión, relevancia
y simplicidad La tecnología de los motores ha marcado el comienzo de una nueva era.

1.2 Nuevas funciones de Elasticsearch En los últimos tres años
, desde el lanzamiento de Elasticsearch 7.0 el 10 de abril de 2019 hasta el lanzamiento de Elasticsearch 8.0 el 11 de febrero de 2022,
basado en el concepto de diseño y desarrollo continuamente optimizado, Elasticsearch ha lanzado una serie de Versión pequeña
. Estas versiones menores han logrado grandes avances en los siguientes aspectos e introdujeron algunas características nuevas:
➢ Reducir el uso del montón de memoria, admitir completamente la arquitectura ARM e introducir nuevas formas de usar menos espacio de almacenamiento,
lo que permite que cada nodo aloje más datos
➢ Reduce las consultas gastos generales, especialmente en implementaciones a gran escala
➢ Mejora la velocidad de los histogramas de fechas y las agregaciones de búsqueda, mejora el rendimiento del almacenamiento en caché de la página y crea una nueva
frase de búsqueda de "prefiltro"
➢ En Elasticsearch En las versiones 7.3 y Elasticsearch 7.4, admite funciones de similitud de vectores
En la última versión 8.0, también se han agregado y mejorado muchas características nuevas
➢ Se agregó soporte nativo para modelos de procesamiento de lenguaje natural (NLP), lo que permite la búsqueda vectorial. Las características son más fáciles de implementar, lo que permite a los clientes y empleados
buscar usando sus propias palabras. e idiomas y recibir resultados de gran relevancia.
➢ Realice reconocimiento de entidades con nombre, análisis de opiniones, clasificación de texto y más directamente en Elasticsearch sin utilizar
componentes ni codificación adicionales.
➢ Elasticsearch 8.0 está desarrollado en base a Lucene 9.0. Quienes utilicen la experiencia de búsqueda moderna de PNL pueden tomar prestada
Ayuda con el (nuevo) soporte nativo para búsquedas aproximadas de vecinos más cercanos, implementado rápidamente y a escala. Con ANN, las consultas basadas en vectores se pueden comparar
rápida y eficientemente con un corpus de documentos basado en vectores, ya sean pequeños, grandes o gigantes. ➢ Puede utilizar modelos de aprendizaje automático de PyTorch (como BERT) directamente en Elasticsearch y utilizar estos modelos de forma nativa en Elasticsearch para realizar inferencias.


Capítulo 2 Instalación y uso de Elasticsearch
2.1 Instalación de Java 17
Insertar descripción de la imagen aquí
Como puede ver en las capturas de pantalla del sitio web oficial, la última versión de Elasticsearch finalmente ha comenzado a adoptar el JDK, conocido como el más rápido de la historia.
Por lo tanto, antes de instalar el software ES, debe descargar y utilizar Java JDK17.

2.1.1 Descargar software
Dirección oficial de Java: https://www.oracle.com/java
Dirección de descarga: https://www.oracle.com/java/technologies/downloads

2.1.2 Actualización de software
Para los desarrolladores de Java, la versión de desarrollo más familiar debería ser JDK1.8. Si de repente necesita actualizar a JDK17, se
sentirá un poco incómodo e incluso un poco rechazado. Preocúpese por el impacto en el código del programa existente después de la actualización.
De hecho, para JDK1.8, la última versión de JDK17 agrega muchas características de sintaxis:

Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Para la mayoría de los proyectos, aprovechar estas nuevas características requiere modificaciones en el código, excepto en el rendimiento. En otras palabras,
si actualiza la versión JDK, incluso si el código existente no se modifica, no habrá problemas de compatibilidad, pero el rendimiento
mejorará recolector de basura de alto rendimiento es más rápido y eficiente que el de bajo rendimiento. -recolector de basura de latencia. Lo importante es que es gratuito para uso comercial.
En cuanto a la versión mejorada, si todavía tienes dudas, la buena noticia es que podemos descargar la
versión ES que incluye la adaptación JDK. Básicamente, no necesitas considerar el contenido mencionado anteriormente. Todo es muy sencillo, ¿verdad?

2.2 Instalación y uso de Elasticsearch
2.2.1 Descargar software
Dirección oficial de Elasticsearch: https://www.elastic.co/cn/
Elegimos la
dirección de descarga de la versión 8.1.0 ligeramente anterior: https://www.elastic.co/cn / descargas/lanzamientos anteriores#elasticsearch
Insertar descripción de la imagen aquí
Puede elegir la versión de diferentes sistemas operativos según la situación
Insertar descripción de la imagen aquí
2.2.2 Instalación del software
Este curso se centra en explicar las características y aplicaciones de la nueva versión del software ES, por lo que se utiliza la configuración del clúster de Linux. .

  1. Planificación del clúster
    Para demostrar el uso del software, aquí preparamos tres máquinas virtuales Linux para configurar el clúster de Elasticsearch.
    Después de iniciar el clúster, el proceso de cada máquina virtual es el siguiente:
    Insertar descripción de la imagen aquí
  2. Cargue el paquete comprimido elasticsearch-8.1.0-linux-x86_64.tar.gz a la máquina virtual

Descomprima el archivo en una ruta personalizada. La ruta de descompresión del autor es: /opt/module. Después de la descompresión, la ruta del software es:
/opt/module/elasticsearch-8.1.0

# 切换目录
cd software
# 解压缩
tar -zxvf elasticsearch-8.1.0-linux-x86_64.tar.gz -C /opt/module

La estructura de directorios de Elasticsearch descomprimido es la siguiente
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
3) La versión ES instalada actualmente es 8.1.0, que viene con JDK, por lo que el nodo de máquina virtual Linux actual no necesita configurar el entorno Java
4) Cree un nuevo usuario de Linux es , archivo de datos, directorio de certificados y modificar el propietario del archivo Elasticsearch

# 新增 es 用户
useradd es
# 为 es 用户设置密码
passwd es
# 创建数据文件目录
mkdir /opt/module/elasticsearch-8.1.0/data
# 创建证书目录
mkdir /opt/module/elasticsearch-8.1.0/config/certs
#切换目录
cd /opt/module/elasticsearch-8.1.0
# 修改文件拥有者
chown -R es:es /opt/module/elasticsearch-8.1.0
  1. Configure la clave de comunicación de múltiples nodos del clúster en el primer nodo del servidor es-node-1
# 切换用户
su es
# 签发 ca 证书,过程中需按两次回车键
bin/elasticsearch-certutil ca
# 用 ca 证书签发节点证书,过程中需按三次回车键
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
# 将生成的证书文件移动到 config/certs 目录中
mv elastic-stack-ca.p12 elastic-certificates.p12 config/certs
  1. Configure el certificado HTTP de múltiples nodos del clúster en el primer nodo del servidor es-node-1
# 签发 Https 证书
bin/elasticsearch-certutil http
# 以下是每次要求输入时,需要输入的内容

Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Descomprima el paquete zip recién generado

# 解压文件
unzip elasticsearch-ssl-http.zip
将解压后的证书文件移动到 config/certs 目录中
# 移动文件
mv elasticsearch/http.p12 kibana/elasticsearch-ca.pem config/certs
  1. Modifique el archivo de configuración principal: config/elasticsearch.yml
# 设置 ES 集群名称
cluster.name: es-cluster 
# 设置集群中当前节点名称
node.name: es-node-1
# 设置数据,日志文件路径
path.data: /opt/module/elasticsearch-8.1.0/data
path.logs: /opt/module/elasticsearch-8.1.0/log
# 设置网络访问节点
network.host: linux1
# 设置网络访问端口
http.port: 9200
# 初始节点
discovery.seed_hosts: ["linux1"]
# 安全认证
xpack.security.enabled: true
xpack.security.enrollment.enabled: true
xpack.security.http.ssl:
 enabled: true
 keystore.path: /opt/module/elasticsearch-8.1.0/config/certs/http.p12
 truststore.path: /opt/module/elasticsearch-8.1.0/config/certs/http.p12
xpack.security.transport.ssl:
 enabled: true
 verification_mode: certificate
 keystore.path: 
/opt/module/elasticsearch-8.1.0/config/certs/elastic-certificates.p12
 truststore.path: 
/opt/module/elasticsearch-8.1.0/config/certs/elastic-certificates.p12
# 此处需注意,es-node-1 为上面配置的节点名称
cluster.initial_master_nodes: ["es-node-1"]
http.host: [_local_, _site_]
ingest.geoip.downloader.enabled: false
xpack.security.http.ssl.client_authentication: none
  1. Inicie el software ES
# 启动 ES 软件
bin/elasticsearch

Después del primer inicio exitoso, se mostrará una contraseña; recuerde que es necesaria para acceder. ¡Solo por primera vez!

Insertar descripción de la imagen aquí
El contenido gráfico anterior implica la configuración del clúster de múltiples nodos y la configuración de kibana, por lo que es extremadamente importante. ! !
Si la imagen de arriba no aparece, la siguiente imagen también se puede configurar de acuerdo con el método especificado.
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Nota: El puerto 9300 es el puerto de comunicación para los componentes entre los clústeres de Elasticsearch y el puerto 9200 es el puerto RESTful del protocolo http al que accede el navegador
.
9) Acceda al nodo del servidor https://Dirección de la máquina virtual: 9200.
Debido a que el protocolo de seguridad está configurado, se utiliza el protocolo https para el acceso. Sin embargo, dado que el certificado se genera por sí solo y no es
confiable, habrá una seguridad. mensaje.
Insertar descripción de la imagen aquí
Simplemente elija continuar.
Insertar descripción de la imagen aquí

Ingrese su número de cuenta y contraseña para iniciar sesión
Insertar descripción de la imagen aquí
10) Modifique los archivos de configuración de otros nodos en el clúster: config/elasticsearch.yml
linux2: copie el certificado directamente, los demás pasos son exactamente los mismos, solo modifique el siguiente contenido en el archivo de configuración

# 设置节点名称
node.name: es-node-2
# 设置网络访问主机
network.host: linux2

Linux3: copie el certificado directamente, otros pasos son exactamente los mismos, solo modifique el siguiente contenido en el archivo de configuración

# 设置节点名称
node.name: es-node-3
# 设置网络访问主机
network.host: linux3
  1. Inicie los tres nodos de servidor del clúster en secuencia. No olvide cambiar de usuario antes de iniciar
    Linux1:
# 后台启动服务
bin/elasticsearch -d
linux2:
# 后台启动服务
bin/elasticsearch -d
linux3:
# 后台启动服务
bin/elasticsearch -d

2.2.3 Resolución de problemas
➢ Elasticsearch se desarrolla utilizando Java y la versión 8.1 de ES requiere JDK17 y superior. El paquete de instalación predeterminado
viene con un entorno JDK. Si el sistema está configurado con la variable de entorno ES_JAVA_HOME,
se utilizará el JDK configurado por el sistema. Si esta variable de entorno no está configurada, ES utilizará su propio JDK incluido. Aunque el JDK integrado es
la versión de Java recomendada por el software ES, generalmente se recomienda utilizar el JDK configurado por el sistema.
➢ El siguiente mensaje de error aparece en el entorno de Windows porque la autenticación SSL está activada.
Insertar descripción de la imagen aquí
Modifique el archivo config/elasticsearch.yml y cambie el valor de enable a false.

# Enable encryption for HTTP API client connections, such as Kibana, Logstash, 
and Agents
xpack.security.http.ssl:
 enabled: false
 keystore.path: certs/http.p12

➢ Después de un inicio exitoso, si accede a la dirección localhost:9200, aparecerá una ventana de inicio de sesión.

Insertar descripción de la imagen aquí
Al iniciar por primera vez, debido a que el modo de verificación de contraseña está activado, el nombre de usuario y la contraseña se mostrarán en la ventana de inicio. Si
no notó o no encontró la contraseña de la cuenta, puede configurar un inicio de sesión sin contraseña:

# Enable security features
xpack.security.enabled: false

➢ Haga doble clic en la ventana de inicio para bloquear y rastree el error a través del acceso a la ruta. Si hay "espacio insuficiente", modifique el
archivo de configuración config/jvm.options

# 设置 JVM 初始内存为 1G。此值可以设置与-Xmx 相同,以避免每次垃圾回收完成后 JVM 重新分配
内存
# Xms represents the initial size of total heap space
# 设置 JVM 最大可用内存为 1G
# Xmx represents the maximum size of total heap space
-Xms4g
-Xmx4g

➢ ¿Qué debo hacer si olvido mi contraseña después del inicio? Puede utilizar el comando para restablecer la contraseña.

# 使用 es 用户,执行指令,重置 elastic 用户密码
bin/elasticsearch-reset-password -u elastic

Insertar descripción de la imagen aquí
Si solo inicia un nodo, esta operación puede fallar. Inicie al menos 2 nodos y la prueba será exitosa.

2.3 Instalación de Kibana y uso de
la herramienta de visualización de análisis de código abierto de Elasticsearch para interactuar con los datos almacenados en Elasticsearch
Insertar descripción de la imagen aquí
2.3.1 Descargar software
Elasticsearch La versión descargada es 8.1.0, aquí elegimos la misma
dirección de descarga de la versión 8.1.0: https://www. elastic.co/cn/downloads/past-releases#kibana

Insertar descripción de la imagen aquí
2.3.2 Instalación del software
Este curso se centra en explicar las características y aplicaciones de la nueva versión del software ES, por lo que el Kibana correspondiente también utiliza la configuración del clúster de Linux.

  1. Cargue el paquete comprimido kibana-8.1.0-linux-x86_64.tar.gz a la máquina virtual

Descomprima el archivo en una ruta personalizada. La ruta de descompresión del autor es: /opt/module. Después de la descompresión, la ruta del software es:
/opt/module/kibana-8.1.0

# 切换目录
cd software
# 解压缩
tar -zxvf kibana-8.1.0-linux-x86_64.tar.gz -C /opt/module

La estructura de directorios del kibana descomprimido es la siguiente:
Insertar descripción de la imagen aquí
2) Generar un archivo de certificado para Kibana

# 在 ES 服务器中生成证书,输入回车即可
cd /opt/module/elasticsearch-8.1.0
bin/elasticsearch-certutil csr -name kibana -dns linux1
# 解压文件
unzip csr-bundle.zip
# 将解压后的文件移动到 kibana 的 config 目录中
mv kibana.csr kibana.key /opt/module/kibana-8.1.0/config/
# 生成 crt 文件
openssl x509 -req -in kibana.csr -signkey kibana.key -out kibana.crt
  1. Modifique el archivo de configuración: kibana.yml
# 服务端口
server.port: 5601
# 服务主机名
server.host: "linux1"
# 国际化 - 中文
i18n.locale: "zh-CN"
# ES 服务主机地址
elasticsearch.hosts: ["https://linux1:9200"]
# 访问 ES 服务的账号密码
elasticsearch.username: "kibana"
elasticsearch.password: "fnqIYLQGv81iyW5nWeZ-"
elasticsearch.ssl.verificationMode: none
elasticsearch.ssl.certificateAuthorities: 
[ "/opt/module/elasticsearch-8.1.0/config/certs/elasticsearch-ca.pem" ]
server.ssl.enabled: true
server.ssl.certificate: /opt/module/kibana-8.1.0/config/kibana.crt
server.ssl.key: /opt/module/kibana-8.1.0/config/kibana.key
  1. Modificar el propietario del directorio de software
# 切换目录
chown -R es:es /opt/module/kibana-8.1.0/
  1. Cambie de usuario e inicie el software
# 切换用户
su es
# 启动软件
bin/kibana
# 也可以后台启动
nohup /opt/module/kibana-8.1.0/bin/kibana >kibana.log 2>&1 &

2.3.3 Software de aplicación
Abra el navegador, ingrese la dirección de acceso,
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
ingrese la cuenta elástica y la contraseña para acceder
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_45817985/article/details/133169111
Recomendado
Clasificación