Construcción del clúster de la versión 7.6.2 de ElasticSearch y paso a paso

Preparación ambiental

descripción del servidor

Esta demostración utiliza tres servidores RockyLinux 8.5

servidor IP Observación
es-master 172.16.7.11 nodo maestro
es-node01 172.16.7.5 01 nodo
es-nodo02 172.16.7.13 02 nodo

versión del núcleo

[root@es-master ~]# uname -a
Linux es-master 4.18.0-348.20.1.el8_5.x86_64 #1 SMP Thu Mar 10 20:59:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

modificar el nombre del sistema

## 主节点
hostnamectl set-hostname es-master
## node1节点
hostnamectl set-hostname es-node01
## node2节点
hostnamectl set-hostname es-node02

configurar anfitriones

Todos los servidores configuran algún /etc/hosts

172.16.7.11 es-master
172.16.7.5 es-node01
172.16.7.13 es-node02

Instalar JDK

##### 7.x开始内置了JDK不需要安装了,官网连接:
https://www.elastic.co/cn/support/matrix#logstash_plugins

imagen.png

crear usuario

useradd cncfclub
passwd cncfclub
chown -R cncfclub:cncfclub  elasticsearch-7.6.2

descargar paquete

Descargar software

Enlace de descarga de la comunidad china ES:

Elija una versión que crea que es estable, elegí 7.6.2 aquíimagen.png

Cree una carpeta y transfiera es a la carpeta y descomprímala

mkdir -p /server/tools && cd /server/tools

Transfiera el paquete de instalación de es descargado a tres servidores para
imagen.png
descomprimir y eliminar el archivo comprimido

## 解压
tar xf elasticsearch-7.6.2-linux-x86_64.tar.gz
## 删除
rm -f elasticsearch-7.6.2-linux-x86_64.tar.gz

despliegue de clúster

Descripción de la estructura del directorio

imagen.png

bin: archivos de script, incluidos los complementos de inicio e instalación de ES, etc.

config: elasticsearch.yml (archivo de configuración ES), jvm.options (archivo de configuración JVM), archivo de configuración de registro, etc.

JDK: JDK integrado, JAVA_VERSION="12.0.1"

lib: biblioteca de clases

registros: archivos de registro

módulos: todos los módulos ES, incluido X-pack, etc.

complementos: ES complementos instalados. sin complementos por defecto

datos: cuando se inicia ES, habrá este directorio para almacenar datos de documentos. El directorio se puede configurar

optimización de JVM

De acuerdo con la "Memoria de almacenamiento dinámico: edición de tamaño e intercambio": https://www.elastic.co/guide/cn/elasticsearch/guide/current/heap-sizing.html

La memoria de pila configurada después de instalar ES de forma predeterminada es de 1 GB, que definitivamente es menos en el uso real. El tamaño de la memoria del servidor que estoy usando actualmente para la demostración es de 4 GB, por lo que no lo cambiaré. El oficial dijo que si hay hay suficiente memoria, no hay necesidad de cambiarla, trate de no exceder los 32 GB. Es decir, la asignación de memoria de cada nodo no supera los 32 GB. Porque desperdicia memoria, reduce el rendimiento de la CPU y hace que GC se ocupe de una gran cantidad de memoria. Si desea mantenerlo seguro y confiable, configurar la memoria del montón en 31 GB es una opción segura.

Descripción del archivo de configuración de Elasticsearch.yml

[root@es-master config]# cat elasticsearch.yml 
# 集群名称,设置一个统一的名字
cluster.name: cncfclub-es-cluster
# 节点名字,每个节点不同
node.name: es-master
# 是否有资格成为主节点
node.master: true
#是否存储数据
node.data: true
#设置最大集群节点数
node.max_local_storage_nodes: 3
#数据存储路径
path.data: /server/data
#日志存储路径
path.logs: /server/logs
# CentOS6 版本需要加入这两行
#bootstrap.memory_lock: true
#bootstrap.system_call_filter: false
#设置IP地址0.0.0.0 外网访问谁IP都能不然默认就是内网IP
network.host: 0.0.0.0
#设置端口
http.port: 9200
#集群通信接口
transport.tcp.port: 9300
#设置节点发现
discovery.seed_hosts: ["host1", "host2"]
#设置初始化集群选举
cluster.initial_master_nodes: ["node-1", "node-2"]

Configuración del nodo maestro elasticsearch.yml

cluster.name: cncfclub-es-cluster
node.name: es-master
node.master: true
node.data: true
node.max_local_storage_nodes: 3
path.data: /server/data
path.logs: /server/logs
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.seed_hosts: ["es-master:9300", "es-node01:9300","es-node02:9300"]
cluster.initial_master_nodes: ["es-master", "es-node01","es-node02"]

node01 nodo elasticsearch.yml configuración

cluster.name: cncfclub-es-cluster
node.name: es-node01
node.master: true
node.data: true
node.max_local_storage_nodes: 3
path.data: /server/data
path.logs: /server/logs
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.seed_hosts: ["es-master:9300", "es-node01:9300","es-node02:9300"]
cluster.initial_master_nodes: ["es-master", "es-node01","es-node02"]

node02 nodo elasticsearch.yml configuración

cluster.name: cncfclub-es-cluster
node.name: es-node02
node.master: true
node.data: true
node.max_local_storage_nodes: 3
path.data: /server/data
path.logs: /server/logs
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.seed_hosts: ["es-master:9300", "es-node01:9300","es-node02:9300"]
cluster.initial_master_nodes: ["es-master", "es-node01","es-node02"]

Crear directorios de datos y registros

mkdir -p /server/data && mkdir -p /server/logs全部赋权
#给有关es的
chown -R cncfclub:cncfclub /server

Comienza el servicio

## 进入cncfclub用户
su cncfclub
## 进入bin启动目录
cd /server/tools/elasticsearch-7.6.2/bin 
# 运行
./elasticsearch
# 后台运行
./elasticsearch -d

verificar

imagen.png
imagen.png
imagen.png

complemento de cabeza

elasticsearch-head es un complemento de visualización frontal web para navegar e interactuar con los clústeres de Elasticsearch. Entonces, elasticsearch-head es un complemento de cliente para monitorear el estado de Elasticsearch

Instale el complemento Multi elasticsearch head directamente en un navegador simple y rudo

o docker ejecutar un servicio web

docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head

imagen.png

fosa

坑一:áreas máximas de memoria virtual vm.max_map_count [65530] es demasiado bajo, aumente al menos a [262144]

imagen.png

Solución

### 修改文件
vim /etc/sysctl.conf
 
### 添加参数 最后一行添加
vm.max_map_count = 262144

### 重启配置
sysctl -p

Nota: Advertencia de máquina virtual de servidor OpenJDK de 64 bits: la opción UseConcMarkSweepGC quedó obsoleta en la versión 9.0 y es probable que se elimine en una versión futura.

imagen.png

### 修改
vim jvm.options
### 修改参数
-XX:+UseConcMarkSweepGC 改为 -XX:+UseG1GC

Pozo 3: java.nio.file.AccessDeniedException: /server/tools/elasticsearch-7.6.2/config/elasticsearch.keystore

imagen.png

## 权限问题
chown -R cncfclub:cncfclub /server/tools/elasticsearch-7.6.2/config

Supongo que te gusta

Origin blog.csdn.net/m0_46213587/article/details/130344395
Recomendado
Clasificación