Introduzione a ElasticSearch
Cos'è ElasticSearch:
- ElasticSearch è un motore di ricerca open source costruito su Apache Lucene
- Scritto in Java, fornisce un'API RESTFul semplice e facile da usare
- Scalabilità semplice per supportare l'elaborazione dati strutturati o non strutturati a livello di petabyte
Scenari applicabili:
- Motore massiccio di analisi dei dati
- Motore di ricerca on-site
- Come data warehouse
Indirizzo del documento:Il login del link ipertestuale è visibile.
Ambiente di implementazione:
CentOS 7 x64-bit, Elasticsearch versione 6.5.2, JDK 1.8.0.191
1: Installare JDK 1.8.0
ElasticSearch è sensibile alla versione del JRE, e la versione sbagliata farà sì che ElasticSearch non funzioni.
2: Scarica ed esegui ElasticSearch 6.5.2
Scarica la pagina dell'indirizzo:Il login del link ipertestuale è visibile.
[root@VM_0_9_centos elasticsearch-6.5.2]# ./bin/elasticsearch Avviso VM OpenJDK 64-Bit Server: Se si prevede che il numero di processori aumenti da uno, allora dovresti configurare correttamente il numero di thread GC paralleli usando -XX: ParallelGCThreads=N [2018-12-11T15:24:27,847] [AVVISO] [o.e.b.ElasticsearchUnaughtExceptionHandler] [sconosciuto] eccezione non catturata nel thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root su org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.5.2.jar:6.5.2] su org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[elasticsearch-6.5.2.jar:6.5.2] su org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] su org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.5.2.jar:6.5.2] su org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.5.2.jar:6.5.2] su org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.5.2.jar:6.5.2] su org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] Causato da: java.lang.RuntimeException: non può eseguire elasticsearch come root su org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.5.2.jar:6.5.2] su org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.5.2.jar:6.5.2] su org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.5.2.jar:6.5.2] su org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.5.2.jar:6.5.2] ... Altri 6
Elasticsearch richiede che non si possa eseguire con il root superutente, quindi possiamo creare un account in modo casuale, e devo usare l'utente come es
Se non c'è errore, il processo viene eseguito con successo
Apri un nuovo terminale e accedi con curl
Nel caso di assicurarsi che la porta server (9200) sia attiva, si avvia elasticsearch (ps -ef | grep elasticsearch) può essere accessibile dal browser
[root@VM_0_9_centos locale]# curl 'http://localhost:9200/?pretty'
{ "name" : "iUSRV4T", "cluster_name" : "elasticsearch", "cluster_uuid" : "WCbka65VTd2TnM8gQvztqg", "versione" : { "numero" : "6.5.2", "build_flavor" : "default", "build_type" : "catrame", "build_hash" : "9434bed", "build_date" : "2018-11-29T23:58:20.891072Z", "build_snapshot" : falso, "lucene_version" : "7.5.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "slogan": "Sai, per la ricerca"
}
3: Accesso a Elasticsearch tramite Internet
Modifica il file di configurazione elasticsearch
Trova network.host: una linea, rimuovi il segno # e cambialo in:
(network.host: [_local_, 172.30.6.1] 172.30.6.1 è l'indirizzo IP specificato, che può essere composto da più indirizzi IP. Non testato)
Riavvia Elasticsearch, e poi potrai accedere all'interfaccia http://ip:9200 su Internet.
Possibili errori:
Errore numero uno
Le aree di memoria virtuale massime vm.max_map_count [65530] sono troppo basse, aumentano ad almeno [262144] Il valore di max_map_count si riferisce alle aree di mappa di memoria massime disponibili per un processo, utilizzate durante la chiamata di malloc ed è generata da mmap/mprotect.
Soluzione alternativa: Aumenta la dimensione del vm.max_map_count:
Errore due
I descrittori massimi [4096] per ElasticSearch Process sono troppo bassi, aumentano ad almeno [65536] Soluzione
Dopo la modifica, effettua nuovamente l'accesso all'utente ES e usa il seguente comando per verificare se la modifica ha avuto successo
Errore 3
Avviso VM server a 64 bit Java HotSpot(TM): INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) fallito; error='Impossibile allocare memoria' (errno=12) Soluzione
adisse AliPossibili problemi sul
i filtri per chiamate di sistema non sono stati installati; Controlla i log e correggi la configurazione o disabilita i filtri per chiamate di sistema a tuo rischio Soluzione: Aggiungi il seguente comando alla configurazione elasticsearch
|