Clúster de Elasticsearch y complemento principal

Descargar e instalar

Descarga de Elasticsearch

La instalación de Elasticsearch es relativamente simple, simplemente descárguelo y descomprímalo directamente en el directorio especificado. La clave está en la configuración, aquí estamos descargando la versión 7.1.1 de Elasticsearch.

Tabla de contenido

directorio es

archivo de configuración elasticsearch.yml

configuración

Lo más importante en la configuración de elasticsearch son los primeros elementos:

  1. cluster.name: indica el nombre del cluster, el valor predeterminado es elasticsearch, es mejor configurarlo, porque la conexión del cliente lo usará
  2. node.name: indica el nombre del nodo, para facilitar la distinción entre diferentes nodos
  3. node.master: verdadero significa que este nodo está calificado como un nodo maestro
  4. node.data: true significa que este nodo puede almacenar datos
  5. path.data: directorio de datos
  6. path.logs: directorio de registro

Diferentes escenarios pueden usar diferentes combinaciones:

node.master node.data Descripción
cierto cierto Medios para coordinar las solicitudes de los clientes y almacenar datos
falso cierto Indica que solo se almacenan datos, principalmente para agregar, eliminar, modificar y verificar documentos, operaciones agregadas, etc.
cierto falso Solo coordine las solicitudes de los clientes, no almacene datos, cree o elimine índices, rastree qué nodos son parte del clúster y decida qué fragmentos se asignan a los nodos relacionados
falso falso Solo procesa solicitudes de clientes, los nodos solo pueden procesar solicitudes de enrutamiento, procesar búsquedas, distribuir operaciones de índice, etc.
# https://www.elastic.co/guide/en/elasticsearch/reference/index.html

cluster.name: my-es
node.name: node-1
node.master: true
node.data: true

# 数据存放目录,多个目录使用逗号分割
path.data: F:\component\esdata\data1

# 绑定HTTP端口
http.port: 9200

# 日志目录
path.logs: F:\component\esdata\logs1

# 绑定地址,以便于外网访问
#network.host: 0.0.0.0

#表示开启跨域访问支持,默认为false
http.cors.enabled: true

#表示跨域访问允许的域名地址,,可支持正则表达式,这里“*”表示允许所有域名访问
http.cors.allow-origin: "*"

#允许跨域访问头部信息
#http.cors.allow-headers: "X-Requested-With,Content-Type, Content-Length, Authorization" 

# 配置host以便于节点启动的时候更快发现其他节点,默认["127.0.0.1", "[::1]"]
#discovery.seed_hosts: ["host1", "host2"]

# Bootstrap the cluster using an initial set of master-eligible nodes:
#cluster.initial_master_nodes: ["node-1", "node-2","node-3"]

#设置true用来锁住物理内存
#bootstrap.memory_lock: true

#索引字段缓存大小
#indices.fielddata.cache.size: 50mb 

#设置集群中master节点初始列表,可通过这些
#discovery.zen.ping.unicast.hosts: ["192.168.37.134:9300","192.168.37.135:9300","192.168.37.136:9300"] 

#配置当前集群最少的master节点数,默认为1
#discovery.zen.minimum_master_nodes: 1

Configuración de jvm.options

La configuración de jvm es principalmente para configurar los parámetros de JVM requeridos para iniciar Elasticsearch. Generalmente, no hay necesidad de configurarlo. La configuración más comúnmente utilizada -Xms y -Xmx son los valores de memoria inicial y máximo usados ​​por Elasticsearch. La prueba local se puede ajustar más pequeña y la prueba en línea se puede ajustar más grande.

-Xms512M
-Xmx512M
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+DisableExplicitGC
-XX:+AlwaysPreTouch
-server
-Xss1m
-Djava.awt.headless=true
-Dfile.encoding=UTF-8
-Djna.nosys=true
-Djdk.io.permissionsUseCanonicalPath=true
-Dio.netty.noUnsafe=true
-Dio.netty.noKeySetOptimization=true
-Dio.netty.recycler.maxCapacityPerThread=0
-Dlog4j.shutdownHookEnabled=false
-Dlog4j2.disable.jmx=true
-Dlog4j.skipJansi=true
-XX:+HeapDumpOnOutOfMemoryError

Una vez completada la configuración, puede acceder a ella en el navegador:
http: // localhost: 9200 /

Enfoque de grupo

Un clúster es un conjunto de nodos con el mismo clúster.nombre. Trabajan juntos, comparten datos y proporcionan funciones de recuperación y expansión. Por supuesto, un nodo también puede formar un clúster.

Para iniciar un clúster de Elasticsearch, solo necesita copiar unos pocos Elasticsearch más y puede modificar la configuración básica, principalmente para modificar el nombre del nodo, el directorio de registro y el directorio de datos.
Tenga en cuenta que en el modo de clúster, solo se debe configurar un nodo con http.port: 9200, de lo contrario, se le indicará que el puerto se ha vinculado y no se puede activar. Generalmente, el nodo maestro se puede configurar.

9200

herramienta de cabeza de búsqueda elástica

Elasticsearch proporciona un método de interacción HTTP. Podemos enviar solicitudes http directamente a través de curl, cartero y otras herramientas para obtener información relacionada, pero en muchos casos es problemático. Podemos ver información relacionada a través de elasticsearch-head.
Para descargar es-head , puede usar git o descargar el zip directamente y descomprimirlo.

es-cabeza

Elasticsearch-head requiere node.js para ejecutarse. Primero debes instalar node.js. Por cierto, npm también está instalado. Ingrese al directorio raíz de elasticsearch-head y ejecute el siguiente comando:

npm install
npm run start

Entonces puede visitar:
http: // localhost: 9100 /

El puerto se puede modificar en el archivo Gruntfile.js:

connect: {
    server: {
        options: {
            port: 9100,
            base: '.',
            keepalive: true
        }
    }
}

Tenga en cuenta que debido a que el puerto que usa elasticsearch-head es 9100 y Elasticsearch usa 9200, existe un problema de cruce al acceder al código JavaScript, por lo que cuando usa elasticsearch-head, debe configurar los siguientes 2 elementos en el archivo de configuración elasticsearch.yml de Elasticsearch.

http.cors.enabled: true
http.cors.allow-origin: "*"

Usamos elasticsearch-head para crear 2 índices, el fragmento es 3 y la réplica es 1.

9100

Como se muestra en la figura anterior, podemos ver que cada uno de los 6 fragmentos se distribuye uniformemente en 3 nodos. Los fragmentos principal y de réplica no están en el mismo nodo, por lo que incluso si un nodo falla, la disponibilidad está garantizada.

Supongo que te gusta

Origin blog.csdn.net/trayvontang/article/details/107998680
Recomendado
Clasificación