type rehusada refused failed elastic conexión elasticsearch

rehusada - Error de conexión rechazada en Elasticsearch



elasticsearch connection refused (20)

¿Por qué no comienzas con esta línea de comandos?

$ sudo service elasticsearch status

Lo hice y obtuve:

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

Luego /etc/elasticsearch/jvm.options archivo /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 ################################################################ ...

Funcionó como por arte de magia.

Cuando intenté conectarme a Elasticsearch usando el curl http://localhost:9200 funciona bien.

Pero cuando ejecuto el curl http://IpAddress:9200 arroja un error que dice que la connection refused port 9200 .

¿Cómo resolver este error?


Abra su Dockerfile en la carpeta elasticsearch y actualice "network.host = 0.0.0.0" con "network.host = 127.0.0.1" . Luego reinicie el contenedor. Comprueba tu conexión con curl.

$ curl http://docker-machine-ip:9200 { "name" : "vI6Zq_D", "cluster_name" : "elasticsearch", "cluster_uuid" : "hhyB_Wa4QwSX6zZd1F894Q", "version" : { "number" : "5.2.0", "build_hash" : "24e05b9", "build_date" : "2017-01-24T19:52:35.800Z", "build_snapshot" : false, "lucene_version" : "6.4.0" }, "tagline" : "You Know, for Search" }


Actualice su jdk a la última versión mínima para su elasticsearch.


Asegúrese de que el puerto 9200 esté abierto para mi caso, era una instancia de Amazon, así que cuando lo abrí en mi grupo de seguridad, el comando curl funcionó.


Cambie network.bind a 0.0.0.0 y http: port a 9200. La dirección de enlace 0.0.0.0 significa todas las direcciones IPv4 en la máquina local. Si un host tiene dos direcciones IP, 192.168.1.1 y 10.1.2.1, y un servidor que se ejecuta en el host escucha en 0.0.0.0, será accesible a ambas IP.


De forma predeterminada, debe vincularse a todas las direcciones locales. Por lo tanto, suponiendo que no tenga un problema de capa de red con firewalls, la única configuración de ES que puedo comprobar es network.bind_host y asegúrese de que no esté configurada o establecida en 0.0.0.0 o ::0 o en dirección IP correcta para su red.

Actualización: según los comentarios en ES 2.3, debe configurar network.host lugar.


Desactivar SELinux funcionó para mí, aunque no lo sugiero, lo hice solo por un PoC


Después de utilizar algunas de las respuestas anteriores, no olvide que después de una instalación adecuada, un reinicio total podría estar en orden.


Edite /etc/elasticsearch/elasticsearch.yml y agregue la siguiente línea:

network.host: 0.0.0.0

Esto "desarmará" este parámetro y permitirá conexiones desde otras IP.


Edite elasticsearch.yml y agregue la siguiente línea

http.host: 0.0.0.0

network.host: 0.0.0.0 no funcionó para


En este caso, antes que nada, debe verificar la versión de Java utilizando el siguiente comando:

java -version

después de ejecutar este comando, obtienes algo como esto:

Java versión "1.7.0_51" OpenJDK Runtime Environment (rhel-2.4.5.5.el7-x86_64 u51-b31) OpenJDK 64-Bit Server VM (compilación 24.51-b03, modo mixto)

luego usa este comando:

update-alternatives --config java

y seleccione la versión a continuación

* + 1 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64/jre/bin/java 2 /usr/java/jdk1.8.0_73/jre/bin/ Java

Ingrese para mantener la selección actual [+], o escriba el número de selección: 2

curl -XGET http://127.0.0.1:9200


En mi caso se inició elasticsearch. Pero todavía tenía

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

El siguiente comando no tuvo éxito

sudo service elasticsearch restart

Para que funcione, tuve que correr en su lugar

sudo systemctl restart elasticsearch

Entonces todo salió bien.


Intenté todo en esta página, y solo las instrucciones de here ayudaron.

en /etc/default/elasticsearch , asegúrese de que no estén comentados:

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

asegúrese de que /var/lib/elasticsearch sea ​​propiedad del usuario de elasticsearch:

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


Mi problema era que no podía trabajar con localhost . Necesitaba configurarlo en la dirección IP de localhost.

network.bind_host: 127.0.0.1


Mis 2 centavos

Simplemente seguí el procedimiento de instalación en Digital Ocean, aparentemente el paquete disponible en los repositorios no está actualizado, eliminé todo y seguí el procedimiento de instalación directamente desde Elastic Search y todo funciona ahora, básicamente el comportamiento listo para usar está activado un localhost apuntando a 9200. El mismo problema / problema encontrado con Kibana, la solución para mí también fue eliminar todo y simplemente seguir su procedimiento. Espero que esto le ahorre a alguien dos horas (¡el tiempo que pasé descubriendo cómo configurar ELK!)

en


Ninguna de las soluciones propuestas aquí funcionó para mí, pero lo que finalmente lo hizo funcionar fue agregar lo siguiente a elasticsearch.yml

network: host: 0.0.0.0 http: port: 9200

Después de eso, reinicié el servicio y ahora puedo curl tanto dentro de la VM como externamente. Por alguna extraña razón, tuve que probar algunas variantes diferentes de una llamada curl dentro de la VM antes de que funcionara:

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

Nota: estoy usando Elasticsearch 5.5 en Ubuntu 14.04


Para este problema, tuve que usar: sudo /usr/share/elasticsearch/bin/elasticsearch start

para poder obtener algo en los puertos 9200/9300 (sudo netstat -ntlp) y una respuesta a:

curl -XGET http://localhost:9200


Solo para agregar esto, me encontré con muchos documentos a través de google que decían establecer network.host en localhost.

Hacerlo me dio la conexión infame rechazada. Debe usar una dirección IP (127.0.0.1), no un FQDN.

Jeff


Tuve el mismo problema al rechazar las conexiones en el puerto 9200. Verifique el estado del servicio elasticsearch con el comando sudo service elasticsearch status . Si presenta un error y lee algo relacionado con Java, probablemente el problema sea su memoria jvm. Puede editarlo en /etc/elasticsearch/jvm.options . Para una máquina de memoria RAM de 1 GB en el entorno de Amazon, mantuve mi configuración en:

-Xms128m -Xmx128m

Después de configurar eso y reiniciar el servicio elasticsearch, funcionó de maravilla. La comprobación de Nmap y UFW (si usa un firewall local) también debería ser útil.


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

asegúrese de que se inicie el servidor. He visto este problema cuando mi máquina virtual tenía muy poca RAM y no podía iniciarse.

sudo systemctl status elasticsearch

lo anterior le mostrará si es efectivamente ejecutado.