Quando tentei me conectar ao Elasticsearch usando o,
curl http://localhost:9200
ele estava funcionando bem.
Mas quando eu executo o curl http://IpAddress:9200
ele está gerando um erro dizendo
Falha ao conectar à porta 9200 do host local: conexão recusada
Como resolver esse erro?
elasticsearch
chinna2580
fonte
fonte
curl -X GET "http://localhost:9200"
Respostas:
Por padrão, ele deve se vincular a todos os endereços locais. Portanto, supondo que você não tenha um problema de camada de rede com firewalls, a única configuração ES que posso pensar em verificar é
network.bind_host
e certificar-me de que não está definido ou está definido como0.0.0.0
ou::0
ou com o endereço IP correto para sua rede.Atualização: por comentários em ES 2.3 você deve definir em seu
network.host
lugar.fonte
network.bind_host
valor explicitamente , deixando- o sem definir era o meu problema.Edite
/etc/elasticsearch/elasticsearch.yml
e adicione a seguinte linha:Isso irá "desabilitar" este parâmetro e permitirá conexões de outros IPs.
fonte
/Applications/elasticsearch-2.1.1/config/elasticsearch.yml
e o parâmetro que tive de editarnetwork.host
não estánetwork.bind_host
.curl http://172.17.0.2:9200
. Você reconhecerá que é o endereçamento IP do docker comumente usado.Tentei tudo nesta página, e apenas as instruções daqui ajudaram.
em
/etc/default/elasticsearch
, certifique-se de que não foram comentados:certifique-se de que
/var/lib/elasticsearch
é propriedade do usuário elasticsearch:fonte
chown -R elasticsearch:elasticsearch /var/lib/elasticsearch/
e não comentou oSTART_DAEMON=true
sudo systemctl restart elasticsearch
respondida por @kalanit, resolveu o problemaNo meu caso, elasticsearch foi iniciado. Mas ainda tinha
O seguinte comando não foi bem sucedido
Para fazer funcionar, tive que correr em vez
Então correu tudo bem.
fonte
sudo systemctl enable elasticsearch
.systemctl
funciona e o serviço não?Por que você não começa com esta linha de comando:
Eu fiz e consegui:
Então editei o
/etc/elasticsearch/jvm.options
arquivo:Isso funcionou como um encanto.
fonte
Nenhuma das soluções propostas aqui funcionou para mim, mas o que finalmente funcionou foi adicionar o seguinte a
elasticsearch.yml
Depois disso, reiniciei o serviço e agora posso
curl
fazê-lo tanto dentro da VM quanto externamente. Por algum motivo estranho, tive que tentar algumas variantes diferentes de umacurl
chamada dentro da VM antes que funcionasse:Observação: estou usando Elasticsearch 5.5 no Ubuntu 14.04
fonte
certifique-se de que o servidor seja iniciado. Já vi esse problema quando minha máquina virtual tinha pouca RAM e não conseguia iniciar.
o exemplo acima irá mostrar se o ES está realmente em execução.
fonte
Para este problema, tive que usar:
sudo /usr/share/elasticsearch/bin/elasticsearch start
para conseguir algo nas portas 9200/9300 (sudo netstat -ntlp) e uma resposta para:
curl -XGET http://localhost:9200
fonte
Edite
elasticsearch.yml
e adicione a seguinte linhanetwork.host: 0.0.0.0
não funcionou parafonte
Abra seu Dockerfile sob ElasticSearch pasta e atualização "network.host = 0.0.0.0" com "network.host = 127.0.0.1" . Em seguida, reinicie o contêiner. Verifique sua conexão com o curl.
fonte
Eu tive o mesmo problema ao recusar conexões na porta 9200. Verifique o status do serviço elasticsearch com o comando
sudo service elasticsearch status
. Se estiver apresentando um erro e você ler algo relacionado a Java, provavelmente o problema é sua memória jvm. Você pode editá-lo em/etc/elasticsearch/jvm.options
. Para uma máquina de 1 GB de memória RAM no ambiente Amazon, mantive minha configuração em:Depois de definir isso e reiniciar o serviço elasticsearch, funcionou perfeitamente. A verificação de Nmap e UFW (se você usa firewall local) também deve ser útil.
fonte
Eu tive um problema semelhante.
Veja como eu resolvi
Execute o comando de serviço abaixo para iniciar ElasticSearch
OU
Se você ainda receber o erro
Execute o comando de serviço abaixo para verificar o status do ElasticSearch
OU
Se você obtiver uma resposta ( ativa: ativa (em execução) ) como a seguinte, então seu ElasticSearch está ativo e em execução
Você pode então testar se o nó Elasticsearch está em execução, enviando uma solicitação HTTP para a porta 9200 no localhost usando o comando abaixo:
Caso contrário, se você obtiver uma resposta diferente, pode ser necessário depurar mais para corrigi-lo, mas a execução do comando a seguir o ajudará a detectar quais advertências estão impedindo o serviço ElasticSearch de iniciar.
OU
Se você deseja interromper o serviço ElasticSearch , basta executar o comando de serviço abaixo;
OU
N / B: Você pode ter que executar o comando
sudo service elasticsearch status
OUsudo systemctl status elasticsearch
cada vez que encontrar o erro, a fim de informar o estado do serviço ElasticSearch .Isso também se aplica ao Kibana , execute o comando
sudo service kibana status
ORsudo systemctl status kibana
cada vez que encontrar o erro, para informar o estado do serviço Kibana .Isso é tudo.
Eu espero que isso ajude.
fonte
Neste caso, primeiro você precisa verificar a versão java usando o comando abaixo:
depois de executar este comando, você obtém algo assim:
então use este comando:
e selecione a versão abaixo
Enter para manter a seleção atual [+] ou digite o número da seleção: 2
fonte
Meus 2 centavos,
Acabei de seguir o procedimento de instalação no Digital Ocean, aparentemente o pacote disponível nos repos não está atualizado, apaguei tudo e segui o procedimento de instalação direto do Elastic Search e tudo está funcionando agora, basicamente o comportamento pronto para uso está ativado um localhost apontando para 9200. Mesma coisa / problema encontrado com Kibana, a solução para mim também foi remover tudo e apenas seguir o procedimento, espero que isso economize duas horas para alguém (o tempo que eu gastei tentando descobrir como configurar o ELK!)
en
fonte
Atualize seu jdk para a versão mínima mais recente para sua busca elástica.
fonte
Altere network.bind para 0.0.0.0 e http: port para 9200. O endereço de bind 0.0.0.0 significa todos os endereços IPv4 na máquina local. Se um host tiver dois endereços IP, 192.168.1.1 e 10.1.2.1, e um servidor em execução no host ouvir 0.0.0.0, ele poderá ser acessado em ambos os IPs.
fonte
Se você encontrar o erro de conexão recusada , basta executar o comando abaixo para verificar o status do serviço ElasticSearch
Isso o ajudará a decifrar o estado do serviço ElasticSearch e o que fazer a respeito.
fonte
Não é útil para 7.5.0 e superior.
fonte
Depois de utilizar algumas das respostas acima, não se esqueça de que, após a instalação do apt, uma reinicialização total pode ser necessária.
fonte
Só para acrescentar, eu encontrei muitos documentos através do google que diziam para definir network.host como localhost.
Fazer isso me deu a conexão infame recusada. Você deve usar um endereço IP (127.0.0.1), não um FQDN.
Jeff
fonte
Certifique-se de que a porta
9200
está aberta para o meu caso, era uma instância do Amazon, então quando eu abri no meu grupo de segurança o comando curl funcionou.fonte
Desativar o SELinux funcionou para mim, embora eu não sugira isso - fiz isso apenas para um PoC
fonte
Meu problema era que eu não conseguia trabalhar com o qual
localhost
precisava configurá-lo para o endereço IP do host localnetwork.bind_host: 127.0.0.1
fonte
No meu caso, o problema é com a versão java, instalei
open-jdk 11
anteriormente. Isso está criando o problema ao iniciar o serviço. Eu mudeiopen-jdk 8
e começou a funcionarfonte