Termine con las dificultades de instalar ElasticSearch, Kibana y Logstash para principiantes "Diversión con ElasticSearch 1"

Voy a usar ElasticSearch en el proyecto. Solo tenía una comprensión simple de ElasticSearch antes sin un aprendizaje sistemático. Esta serie de artículos comenzará desde el aprendizaje básico hasta el uso en profundidad.

Kaka escribió un artículo sobre MySQL antes, y ahora he entrado en una serie para jugar a ElasticSearch.

Este artículo lo llevará a instalar ElasticSearch, Kibana, Logstash, configurar el acceso a la red externa de ElasticSearch, configurar el daemon para iniciar Kibana, ElasticSearch y usar Logstash para importar datos de demostración en ElasticSearch.

Instalación de ElasticSearch

1. Instalar ElasticSearch

Cree un entorno de ElasticSearch desde 0 y luego instálelo primero.

El sitio web oficial de ElasticSearch se revisa constantemente y muchos socios pequeños no pueden encontrar la ubicación de descarga.

Después de ingresar, haga clic en la posición del círculo, no haga clic en la izquierda para descargar directamente

Después de ingresar, puede ver la versión histórica lanzada, puede descargar la versión correspondiente según sus propias necesidades, aquí está la versión 7.1.0 descargada

Si tiene Linux, puede abrir el modo de desarrollador, copiar la dirección y usar wget + dirección para descargar directamente.

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.0-linux-x86_64.tar.gz

Se puede ver que se ha descargado ElasticSearch en este momento, que ya se encuentra descomprimido

En este punto, no lo inicie impulsivamente, a partir de la versión 5.x, ElasticSearch no se puede habilitar directamente con el usuario root por razones de seguridad.

Agregar usuario

Ejecute useradd es para agregar el usuario es

Otorgue permiso de usuario de ElasticSearch al usuario es bajo el usuario raíz.

chown -R es ElasticSearch

Iniciar ElasticSearch

Después de cambiar al usuario es, ejecute la ejecución ./bin/elasticsearchpara iniciar ElasticSearch

Problema con la inicialización del almacén de claves al inicio

Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: java.nio.file.AccessDeniedException: /usr/local/elasticsearch/elasticsearch-6.6.0/config/elasticsearch.keystore
Likely root cause: java.nio.file.AccessDeniedException: /usr/local/elasticsearch/elasticsearch-7.1.0/config/elasticsearch.keystore
	at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
	at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
	at java.nio.file.Files.newByteChannel(Files.java:361)
	at java.nio.file.Files.newByteChannel(Files.java:407)
	at org.apache.lucene.store.SimpleFSDirectory.openInput(SimpleFSDirectory.java:77)
	at org.elasticsearch.common.settings.KeyStoreWrapper.load(KeyStoreWrapper.java:206)
	at org.elasticsearch.bootstrap.Bootstrap.loadSecureSettings(Bootstrap.java:224)
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:289)
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159)
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150)
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86)
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124)
	at org.elasticsearch.cli.Command.main(Command.java:90)
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:115)
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92)
Refer to the log for complete error details.

Esta versión requiere la función de autenticación de seguridad para crear el archivo elasticsearch.keystore, así que ingrese el siguiente comando

./bin/elasticsearch-keystore create

Comprobar si el inicio es exitoso

127.0.0.1::9200Si ve la siguiente interfaz en el navegador, significa que la instalación se ha realizado correctamente.

Aquí Kaka está instalado en la máquina virtual centos, ¡así que si puede acceder a ElasticSearch usando la red externa!

2. Configurar el acceso a la red externa

Los pasos para configurar el acceso a la red externa también son muy simples, siga los pasos para construir en tres minutos

Pregunta uno

el número máximo de descriptores de archivo [4096] para el proceso de búsqueda elástica es demasiado bajo, aumente al menos a [65535]

EDIT /etc/security/limits.conf, agregue lo siguiente

es suave nofile 65536

es duro nofile 65536

pregunta dos

el número máximo de subprocesos [3782] para el usuario [es] es demasiado bajo, aumente al menos a [4096]

Significa que el número máximo de subprocesos en elasticsearch es demasiado bajo

Revisar/etc/security/limits.conf

Agregue las siguientes dos líneas al final del archivo:

es suave nproc 4096

es duro nproc 4096

pregunta tres

el máximo de áreas de memoria virtual vm.max_map_count [65530] es demasiado bajo, aumente al menos a [262144]

/etc/sysctl.confañadir una línea al final del archivo

vm.max_map_count=262144

pregunta cuatro

la configuración de descubrimiento predeterminada no es adecuada para el uso de producción; al menos uno de [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] debe estar configurado

Significa configurar los siguientes tres, al menos uno de ellos

#[discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes]

En el directorio de configuración de elasticsearch, modifique el archivo de configuración elasticsearch.yml

node.name: node-1
cluster.initial_master_nodes: ["node-1"]
network.host: 0.0.0.0

pregunta cinco

Se han realizado las operaciones anteriores, pero no se puede acceder a la red externa. Debe comprobar si el cortafuegos está desactivado.

# 关闭防火强
systemctl stop firewalld.service

# 设置永久关闭
systemctl disable firewalld.service

Una cosa a la que debe prestar atención aquí, debe reiniciar la máquina después de la modificación del primer y segundo problema, recuerde, recuerde, recuerde

Accede a ElasticSearch desde Internet

Puedes ver que la ip de la maquina virtual eshttp://192.168.253.129/

A continuación, intente acceder a la máquina virtual ip + puerto 9200 en el host para ver si se puede acceder

3. Instala Kibana

El método de descarga es el mismo que el de ElasticSearch. Aprenda a descargar este software. Cabe señalar que la versión descargada debe ser coherente con la versión de ElasticSearch.

https://artifacts.elastic.co/downloads/kibana/kibana-7.1.0-linux-x86_64.tar.gz

Entonces, a continuación, debe instalar la versión Kibana7.1.0

Configurar los parámetros de Kibana

Copiar al final del archivo

i18n.locale: "zh-CN"

server.host: "0.0.0.0"

elasticsearch.hosts: ["http://localhost:9200"]

kibana

Vaya al directorio de Kibana y ejecute ./bin/kibana

No se puede iniciar con el siguiente error

[WARN ][o.e.c.c.ClusterFormationFailureHelper] [node-1] master not discovered or elected yet, an election requires a node with id [rEq_ExihQ927BnwBy3Iz7A], have discovered [] which is not a quorum; discovery will continue using [127.0.0.1:9300, 127.0.0.1:9301, 127.0.0.1:9302, 127.0.0.1:9303, 127.0.0.1:9304, [::1]:9300, [::1]:9301, [::1]:9302, [::1]:9303, [::1]:9304] from hosts providers and [{
    
    node-1}{
    
    DtZPMDK4S3qaSQF6mRhRqw}{
    
    lBAhaMvDTKmGkysihkwAqA}{
    
    192.168.122.130}{
    
    192.168.122.130:9300}{
    
    ml.machine_memory=1907744768, xpack.installed=true, ml.max_open_jobs=20}] from last-known cluster state; node term 412, last-accepted version 16 in term 1

solución:

Compruebe si hay datos de nodos anteriores en el directorio de datos de ElasticSearch

Cómo cerrar una instancia de Kibana

Verifique el número de puerto actual para ejecutar netstat -anp | grep 5601, hay una ID de proceso al final y kill -9 进程IDpuede ejecutarlo

Luego reinícialo.

Si configura Kibana a chino

Se te han dado los parámetros, esta es i18n.locale: "zh-CN"la configuración

Cuando entres verás esta página

Haga clic en la mano de la herramienta, puede operar los datos de ElasticSearch, todavía es muy agradable

4. Recorrido rápido por la interfaz de Kibana

Después de ingresar al software, puede ver el conjunto de datos cargado

Después de ingresar, puede ver tres datos de muestra, a saber, registro, pedido de comercio electrónico, datos de vuelo

Luego haga clic en Tableros y verá los tres conjuntos de datos de muestra recién agregados

A continuación, veamos una herramienta muy importante, Dev Tools. Esta herramienta se usará mucho más adelante. El propósito es ayudarlo a ejecutar fácilmente algunos comandos de ElasticSearch en Kibana.

Cinco, el demonio inicia Kibana, ElasticSearch

Después de iniciar ElasticSearch y Kibana, encontrará que se inicia directamente en el puerto actual. Si cierra esta terminal, se cerrará.

A continuación, utilice la ayuda nohuppara iniciar el proceso del demonio. Tenga en cuenta que esto no es lo que nohup ha escrito en Internet. No se confunda.

instalar nohup

Cuando ejecute el comando nohup y descubra que no hay, ejecute

yum install -y coreutils

Normalmente se instala en

/usr/bin/nohup

Ejecutar para which nohupconfirmar la ubicación de instalación

Configure el comando nohup como global, use la forma más simple, ejecute

#vi ~/.bash_profile 

# 添加这行代码
PATH=$PATH:$HOME/bin:/use/bin

export PATH

Luego, guarde y actualice para que surta efecto.

source ~/.bash_profile

Finalmente, verifique, si aparece la información de la versión, la instalación es exitosa

nohup --version

kibana

Se estima que muchas personas en Internet se ejecutan directamente nohup ./bin/kibana. Aunque esto puede iniciar Kibana, aparecerá el error en la siguiente figura. Al mismo tiempo, al presionar ctrl+c, Kibana también se cerrará.

Debe redirigir el mensaje de error al agujero de Linux

nohup ./bin/kibana > /dev/null 2>&1 &

inserte la descripción de la imagen aquí

Encontrarás que sale una línea de números después de la ejecución. Este es el ID del proceso de Kibana. Si lo olvidas, puedes ejecutarlo.

ps -ef | grep node

Ven a verlo, porque Kibana es de nodo.

inserte la descripción de la imagen aquí

Iniciar ElasticSearch

De la misma manera que inicia Kibana, ejecute

nohup ./bin/elasticsearch > /dev/null 2>&1 &

inserte la descripción de la imagen aquí

6. Instale Logstash e importe datos de demostración a ElasticSearch

enlace de descarga

wget https://artifacts.elastic.co/downloads/logstash/logstash-7.1.0.zip

Los datos de demostración se movielensobtienen en este sistema de recomendación, por lo que no necesita descargar los datos, solo puede encontrar los datos de demostración.

Este tipo de datos no se pueden compartir, así que...

descomprimir

unzip logstash-7.1.0.zip

iniciar logstash

./bin/logstash -f logstash.conf

La ejecución directa definitivamente no es posible Primero necesita obtener los datos de demostración y luego colocar los archivos logstash.conf y movies.csv en la primera capa del directorio logstash.

El lugar encerrado en un círculo en la figura a continuación puede ser la ubicación de almacenamiento de movies.csv, cambie esta ruta a su ruta

Luego, cuando ejecute el comando iniciar logstash nuevamente, tendrá el primer problema

logstash could not find java; set JAVA_HOME or ensure java is in PATH

Primero debes asegurarte de tener Java instalado

# 验证是否安装
java -version

La siguiente imagen muestra que la instalación fue exitosa, si no está instalado, no te preocupes, Kaka te dará el proceso detallado.

instalar java8

portal

https://download.oracle.com/otn/java/jdk/8u311-b11/4d5417147a92418ea8b615e228bb6935/jdk-8u311-linux-x64.tar.gz

Si tiene prisa, puede comenzar directamente con wget. Esto no es aceptable. Para descargar el paquete de instalación de java8, debe hacer clic para confirmar y no puede descargarlo sin registrarse en Oracle, por lo que primero necesita una cuenta de Oracle. .

Primero descargue el paquete comprimido al host y luego use el comando scp del artefacto para transferir el archivo, que es bastante rápido, de modo que el paquete java descargado pueda transferirse al servidor.

scp jdk-8u311-linux-x64.tar.gz root:192.168.17.128:/

Cree el directorio java en /usr/local

cd /usr/local

mkdir java

Mueva el archivo java a /usr/local/java

mv jdk-8u311-linux-x64.tar.gz /usr/local/java/

descomprimir

tar -zxf jdk-8u311-linux-x64.tar.gz jdk8

Configurar variables de entorno

vim /etc/profile

Agregue el archivo al final (si es el mismo que el directorio Kaka, no necesita cambiarlo)

export JAVA_HOME=/usr/local/java/jdk8

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:/$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

Actualizar surte efecto

source /etc/profile

verificación final

# 验证是否安装
java -version

Ejecute ./bin/logstash -f logstash.conf nuevamente

Seguirá apareciendo el siguiente error, pero se ha agregado el entorno Java.

come vim /logstash-7.1.0/bin/logstash.lib.sh, encontrará que el error se escribe desde aquí, la razón es que no hay JAVACMDningún valor

Busqué en este archivo y descubrí que hay muchos, así que puedo reasignarlo directamente en la parte superior, prestar atención al lugar marcado con un círculo

guardar, salir, ejecutar de nuevo

./bin/logstash -f logstash.conf

Finalmente hecho, importe los datos en ElasticSearch

Compruebe si hay un índice de películas en Kibana

Siete, instala Cerebro

descargar

wget https://github.com/lmenezes/cerebro/releases/download/v0.9.4/cerebro-0.9.4.tgz

descomprimir

tar -zxf cerebro-0.9.4.tgz

Para modificar el archivo de configuración, solo necesita abrir la configuración del host y escribir su propia dirección IP.

hosts = [
  #{
    
    
  #  host = "http://192.168.17.128:9100"
  #  name = "Localhost cluster"
  #  headers-whitelist = [ "x-proxy-user", "x-proxy-roles", "X-Forwarded-For" ]
  #}
  # Example of host with authentication
  {
    
    
    host = "http://192.168.17.128:9200"
  #  name = "Secured Cluster"
    #auth = {
    
    
     # username = "admin"
     # password = "admin"
    #}
  }
]

puesta en marcha

cd cerebro

./bin/cerebro

Ingrese la dirección IP + puerto 9000

instalación cerebro

8. Resumen

Siguiendo este artículo, puede instalar e iniciar con éxito ElasticSearch y Kibana.Si se puede acceder a ElasticSearch desde la red externa, debe agregar varias configuraciones, que se pueden lograr siguiendo este artículo.

Simplemente comprenda la interfaz de Kibana, y la mayoría de los ejercicios posteriores están en Kibana.

Por último, les hablé de los daemons más interesantes para iniciar ElasticSearch y Kibana. Hay mucha información incompleta en Internet y todavía hay problemas en la implementación. Kaka te dará el tutorial más completo y seguirá el funcionamiento.

Fecha límite Catálogo general de la serie MySQL

Persistencia en aprender, perseverancia en escribir, perseverancia en compartir son las creencias que Kaká ha defendido desde su carrera. Espero que el artículo pueda traerles una pequeña ayuda en el enorme Internet, soy Kaká, nos vemos en el próximo número.

Supongo que te gusta

Origin blog.csdn.net/fangkang7/article/details/121458307
Recomendado
Clasificación