Introdução ao ElasticSearch
O que é o ElasticSearch:
- ElasticSearch é um mecanismo de busca de código aberto construído sobre o Apache Lucene
- Escrito em Java, ele oferece uma API RESTFul simples e fácil de usar
- Escalonamento fácil para suportar processamento de dados estruturados ou não estruturados em nível de petabytes
Cenários de Aplicação:
- Motor de análise massiva de dados
- Mecanismo de busca no site
- Como um data warehouse
Endereço do documento:O login do hiperlink está visível.
Ambiente de Implantação:
CentOS 7 x64 bits, Elasticsearch versão 6.5.2, JDK 1.8.0.191
1: Instalar JDK 1.8.0
ElasticSearch é sensível à versão do JRE, e a versão errada fará com que o ElasticSearch não funcione.
2: Baixar e executar o ElasticSearch 6.5.2
Baixe a página do endereço:O login do hiperlink está visível.
[root@VM_0_9_centos elasticsearch-6.5.2]# ./bin/elasticsearch Aviso de VM OpenJDK 64-Bit Server: Se o número de processadores for esperado aumentar a partir de um, então você deve configurar o número de threads paralelas GC de forma apropriada usando -XX: ParallelGCThreads=N [2018-12-11T15:24:27,847] [AVISO] [o.e.b.ElasticsearchUnaughtExceptionHandler] [desconhecido] exceção não capturada no thread [principal]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root em org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.5.2.jar:6.5.2] em org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[elasticsearch-6.5.2.jar:6.5.2] at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] em org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.5.2.jar:6.5.2] em org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.5.2.jar:6.5.2] em org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.5.2.jar:6.5.2] em org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] Causado por: java.lang.RuntimeException: não é possível rodar elasticsearch como raiz em org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.5.2.jar:6.5.2] em org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.5.2.jar:6.5.2] em org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.5.2.jar:6.5.2] em org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.5.2.jar:6.5.2] ... Mais 6
O Elasticsearch exige que você não possa rodar com root de superusuário, então podemos criar uma conta casualmente, e eu preciso usar o usuário como es
Se não houver erro, ela roda com sucesso
Abra um novo terminal e acesse com Curl
No caso de garantir que a porta do servidor (9200) esteja ativada, o elasticsearch é iniciado (ps -ef | grep elasticsearch) pode ser acessada no navegador
[root@VM_0_9_centos local]# curl 'http://localhost:9200/?pretty'
{ "nome" : "iUSRV4T", "cluster_name" : "elasticsearch", "cluster_uuid" : "WCbka65VTd2TnM8gQvztqg", "versão" : { "número": "6.5.2", "build_flavor" : "padrão", "build_type" : "piche", "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": "Sabe, para Busca"
}
3: Acesse o Elasticsearch pela Internet
Editar o arquivo de configuração elasticsearch
Encontre network.host: uma linha, remova o símbolo # e mude para:
(network.host: [_local_, 172.30.6.1] 172.30.6.1 é o endereço IP especificado, que pode ser múltiplos endereços IP. Não testado)
Reinicie o Elasticsearch e então você pode acessar a interface http://ip:9200 na Internet.
Possíveis erros:
Erro número um
Áreas de memória virtual máximas vm.max_map_count [65530] está muito baixa, aumente para pelo menos [262144] O valor de max_map_count refere-se às áreas máximas de mapas de memória disponíveis para um processo, que são usados ao chamar malloc e gerados por mmap/mprotect.
Solução alternativa: Aumentar o tamanho da contagem de vm.max_mapa:
Erro dois
Descritores máximos de arquivo [4096] para ElasticSearch Process estão muito baixos, aumentem para pelo menos [65536] Solução
Após a modificação, faça login novamente com o usuário do ES e use o seguinte comando para verificar se a modificação foi bem-sucedida
Erro 3
Aviso de VM de servidor Java HotSpot(TM) de 64 bits: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) falhou; error='Não é possível alocar memória' (errno=12) Solução
emAli dissePossíveis problemas no
Os filtros de chamadas de sistema falharam na instalação; Verifique os logs e corrija sua configuração ou desative os filtros de chamadas de sistema por sua conta e conta Solução: Adicionar o seguinte comando à configuração elasticsearch
|