Big data-Elasticsearch

Búsqueda elástica

Introduccion

Elasticsearch , basado en lucene, oculta la complejidad, proporciona una interfaz API tranquila y fácil de usar, una interfaz API Java

Elasticsearch : un motor de búsqueda y análisis distribuido en tiempo real, que se utiliza para búsqueda de texto completo, búsqueda estructurada y análisis

Caracteristicas

  1. Puede manejar petabytes de datos
  2. Fusionar búsqueda de texto completo, análisis de datos y tecnologías distribuidas
  3. Operación simple, fácil implementación y pequeña cantidad de datos
  4. Proporciona funciones que la base de datos no puede proporcionar.

Índice (índice-base de datos)

El índice contiene un montón de datos de documentos con una estructura similar, un índice contiene muchos documentos y un índice representa un documento similar o idéntico

Tipo (tabla de tipos)

Cada índice puede tener uno o más tipos. Tipo es una clasificación de datos lógica en el índice. Todos los documentos bajo un tipo tienen el mismo campo. Cada tipo contiene un montón de documentos.

Documento (línea de documento)

Un documento es la unidad de datos más pequeña en es, y cada tipo bajo índice puede almacenar múltiples documentos

Campo (columna de campo)

El campo es la unidad más pequeña de es, hay múltiples campos en un documento, cada campo es un campo de datos

Mapeo

Los datos se almacenan en el objeto índice a través de la asignación

Comparación entre Elasticsearch y la base de datos

Base de datos relacional (como MySQL) Base de datos no relacional (Elasticsearch)
Base de datos Indice
Mesa Tipo
Fila de datos Documento
Columna de datos Campo
Esquema de restricción Mapeo

Instalar Elasticsearch

(1) Sitio web oficial de Elasticsearch https://www.elastic.co/cn/downloads/elasticsearch descargar paquete de instalación

(2) Descomprima el paquete comprimido elasticsearch-7.1.0-linux-x86_64.tar.gz

tar -xvzf elasticsearch-7.1.0-linux-x86_64.tar.gz

(3) Modificar los permisos de usuario de la carpeta elasticsearch-7.1.0

chown -R destiny elasticsearch-7.1.0

(4) Crear carpetas de datos y registros

mkdir -p data/data
mkdir -p data/logs

(5) Modificar los permisos de usuario de la carpeta de datos

chown -R destiny data

(6) Cambiar usuarios

su destiny

(7) Modifique el archivo elasticsearch.yml en la carpeta de configuración

Configuración del nodo maestro

# ---------------------------------- Cluster -----------------------------------
# 配置集群需要节点上cluster.name配置相同
cluster.name: elasticsearch
# ------------------------------------ Node ------------------------------------
# 配置集群各节点上node.name配置不能相同
node.name: master
# ----------------------------------- Paths ------------------------------------
path.data: /usr/local/elasticsearch/data/data
path.logs: /usr/local/elasticsearch/data/logs
# ----------------------------------- Memory -----------------------------------
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
# ---------------------------------- Network -----------------------------------
network.host: 192.168.138.130
# --------------------------------- Discovery ----------------------------------
discovery.zen.ping.unicast.hosts: ["192.168.138.130","192.168.138.129","192.168.138.128"]
cluster.initial_master_nodes: ["master"]
discovery.zen.minimum_master_nodes: 2
# ---------------------------------- Various -----------------------------------
#action.destructive_requires_name: true
http.cors.enabled: true
http.cors.allow-origin: "*"

configuración de nodo esclavo1

# ---------------------------------- Cluster -----------------------------------
# 配置集群需要节点上cluster.name配置相同
cluster.name: elasticsearch
# ------------------------------------ Node ------------------------------------
# 配置集群各节点上node.name配置不能相同
node.name: slave1
# ----------------------------------- Paths ------------------------------------
path.data: /usr/local/elasticsearch/data/data
path.logs: /usr/local/elasticsearch/data/logs
# ----------------------------------- Memory -----------------------------------
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
# ---------------------------------- Network -----------------------------------
network.host: 192.168.138.129
# --------------------------------- Discovery ----------------------------------
discovery.zen.ping.unicast.hosts: ["192.168.138.130","192.168.138.129","192.168.138.128"]
cluster.initial_master_nodes: ["master"]
discovery.zen.minimum_master_nodes: 2
# ---------------------------------- Various -----------------------------------
#action.destructive_requires_name: true
http.cors.enabled: true
http.cors.allow-origin: "*"

configuración de nodo esclavo2

# ---------------------------------- Cluster -----------------------------------
# 配置集群需要节点上cluster.name配置相同
cluster.name: elasticsearch
# ------------------------------------ Node ------------------------------------
# 配置集群各节点上node.name配置不能相同
node.name: slave2
# ----------------------------------- Paths ------------------------------------
path.data: /usr/local/elasticsearch/data/data
path.logs: /usr/local/elasticsearch/data/logs
# ----------------------------------- Memory -----------------------------------
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
# ---------------------------------- Network -----------------------------------
network.host: 192.168.138.128
# --------------------------------- Discovery ----------------------------------
discovery.zen.ping.unicast.hosts: ["192.168.138.130","192.168.138.129","192.168.138.128"]
cluster.initial_master_nodes: ["master"]
discovery.zen.minimum_master_nodes: 2
# ---------------------------------- Various -----------------------------------
#action.destructive_requires_name: true
http.cors.enabled: true
http.cors.allow-origin: "*"

(8) Cambie el usuario root para modificar el archivo /etc/security/limits.conf para agregar la configuración

* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096

(9) Modifique el archivo /etc/security/limits.d/20-nproc.conf

* soft nproc 4096

(10) Modifique el archivo /etc/sysctl.conf para agregar configuración

vm.max_map_count=655360

(11) ejecutar el comando

sysctl -p

(12) Iniciar búsqueda elástica

./bin/elasticsearch
# 后台运行
./elasticesrarch -d

Inserte la descripción de la imagen aquí

(13) Prueba elasticsearch

curl http://hadoop1:9200

Inserte la descripción de la imagen aquí

curl -XGET '192.168.138.130:9200/_cat/health?v&pretty'

Inserte la descripción de la imagen aquí

(14) Enviar archivos y carpetas relacionados con Elasticsearch a otros servidores

scp -r elasticsearch hadoop2:$PWD
scp /etc/security/limits.conf hadoop2:/etc/security
scp /etc/profile hadoop2:/etc/
scp /etc/security/limits.d/20-nproc.conf hadoop2:/etc/security/

Instalar el plugin Elasticsearch-head

(1) Sitio web https://github.com/mobz/elasticsearch-head/archive/master.zip descargue el complemento head

(2) Descomprima el paquete comprimido elasticsearch-head-master.zip

unzip elasticsearch-head-master.zip

(3) Instale node.js, comando node -v para verificar la instalación

curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install -y nodejs

(4) Verificar si la instalación es exitosa

node -v
npm -v

(5) Cambie al directorio elasticsearch-head-master e instale grunt

npm install -g grunt-cli
npm install [email protected] --ignore-scripts
npm install

(6) Modificar el archivo Gruntfile.js

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

(6) Modifique el archivo _site / app.js

this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.138.130:9200";

(7) Comience la cabeza

grunt server &

(8) Ingrese http://192.168.138.130:9100/ en el navegador para acceder

Inserte la descripción de la imagen aquí

Instalar el plugin Elasticsearch-analysis

(1) Sitio web https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.1.0 descargar el complemento de análisis

(2) Crear elasticsearch-analysis-ik-7.1.0 en la carpeta de complementos de elasticsearch

mkdir elasticsearch-analysis-ik-7.1.0

(3) Descomprima el paquete comprimido elasticsearch-analysis-ik-7.1.0.zip

unzip elasticsearch-analysis-ik-7.1.0.zip

(4) Reiniciar elasticsearch

Kibana

(1) Sitio web https://www.elastic.co/cn/downloads/past-releases/kibana-7-1-0 download kibana

(2) Descomprima el paquete comprimido kibana-7.1.0-linux-x86_64.tar.gz

tar -xvzf kibana-7.1.0-linux-x86_64.tar.gz

(3) Modifique el archivo de configuración kibana.yml

server.port: 5601
server.host: "192.168.138.130"
elasticsearch.hosts: ["http://192.168.138.130:9200"]
kibana.index: ".kibana"

(4) Inicie el clúster Elasticsearch

elasticsearch

(5) Kiki

kibana

Inserte la descripción de la imagen aquí

(6) Entrada de la página web http://192.168.138.130:5601

Inserte la descripción de la imagen aquí

Publicado 131 artículos originales · ganó 12 · 60,000 vistas +

Supongo que te gusta

Origin blog.csdn.net/JavaDestiny/article/details/90581792
Recomendado
Clasificación