[elasticsearch] Elasticsearch : localhost 포트 9200에 연결하지 못했습니다. 연결이 거부되었습니다.

Elasticsearch를 사용하여 연결을 시도했을 때
curl http://localhost:9200제대로 작동합니다.

하지만 내가 실행 curl http://IpAddress:9200하면 오류가 발생합니다.

localhost 포트 9200에 연결하지 못했습니다. 연결이 거부되었습니다.

이 오류를 해결하는 방법은 무엇입니까?



답변

기본적으로 모든 로컬 주소에 바인딩되어야합니다. 그래서, 당신을 가정하는 것은 단지 내가 검사로 생각할 수있는 설정 ES, 방화벽과 네트워크 계층의 문제를 가지고 있지 않습니다 network.bind_host그것은 하나 설정되어 있지 않거나으로 설정되어 있는지 확인 0.0.0.0하거나 ::0또는 네트워크에 대한 올바른 IP 주소로.

업데이트 : ES 2.3의 주석에 따라 network.host대신 설정해야 합니다.


답변

/etc/elasticsearch/elasticsearch.yml다음 행을 편집 하고 추가하십시오.

network.host : 0.0.0.0

이것은이 매개 변수를 “설정 해제”하고 다른 IP로부터의 연결을 허용합니다.


답변

이 페이지의 모든 것을 시도했으며 여기의 지침 만 도움이되었습니다.

에서 /etc/default/elasticsearch주석이 없는지 확인하십시오.

START_DAEMON=true
ES_USER=elasticsearch
ES_GROUP=elasticsearch
LOG_DIR=/var/log/elasticsearch
DATA_DIR=/var/lib/elasticsearch
WORK_DIR=/tmp/elasticsearch
CONF_DIR=/etc/elasticsearch
CONF_FILE=/etc/elasticsearch/elasticsearch.yml
RESTART_ON_UPGRADE=true

/var/lib/elasticsearchelasticsearch 사용자가 소유하고 있는지 확인하십시오 .

chown -R elasticsearch:elasticsearch /var/lib/elasticsearch/


답변

제 경우에는 elasticsearch가 시작되었습니다. 하지만 여전히

curl: (7) Failed to connect to localhost port 9200: Connection refused

다음 명령이 실패했습니다.

sudo service elasticsearch restart

작동하려면 대신 실행해야했습니다.

sudo systemctl restart elasticsearch

그런 다음 모든 것이 잘되었습니다.


답변

이 명령 줄로 시작하는 것이 어떻습니까?

$ sudo service elasticsearch status

나는 그것을했고 얻는다 :

"There is insufficient memory for the Java Runtime..."

그런 다음 /etc/elasticsearch/jvm.options파일을 편집했습니다 .

...

################################################################

# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space

#-Xms2g
#-Xms2g

-Xms512m
-Xmx512m

################################################################

...

이것은 매력처럼 작동했습니다.


답변

여기에서 제안 된 솔루션 중 어느 것도 나를 위해 일하지 않았지만 결국 작동하게 된 것은 다음을 추가하는 것입니다. elasticsearch.yml

network:
  host: 0.0.0.0
http:
  port: 9200

그 후 서비스를 다시 시작했고 이제 curlVM 내부와 외부 모두에서 서비스를 시작할 수 있습니다 . 이상한 이유로, 작동하기 전에 VM 내부 에서 몇 가지 다른 curl호출 변형을 시도 해야했습니다.

curl localhost:9200
curl http://localhost:9200
curl 127.0.0.1:9200

참고 : Ubuntu 14.04에서 Elasticsearch 5.5를 사용하고 있습니다.


답변

OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)

서버가 시작되었는지 확인하십시오. 내 가상 머신에 RAM이 너무 적어서 시작할 수 없을 때이 문제를 보았습니다.

sudo systemctl status elasticsearch

위의 내용은 es가 실제로 실행 중인지 보여줍니다.