tutorial aws elasticsearch

aws - elasticsearch tutorial



¿Cómo habilito el acceso remoto/solicitud en Elasticsearch 2.0? (8)

A partir de la versión 2.0, Elasticsearch solo escucha en localhost de forma predeterminada, pero me gustaría hacer una solicitud fuera de localhost.

Por ejemplo, se permite una solicitud como esta:

http://localhost:9200/

Pero esto no es:

http://server_name:9200/ (desde fuera del servidor, por ejemplo: una computadora local en la misma LAN).

Gracias por tu ayuda.


Cambie el nombre del archivo elasticsearch.yml a elasticsearch.json dentro de la carpeta de configuración y agregue:

{ "network" : { "host" : "10.0.0.4" } }

Otra opción es proporcionar la configuración externamente usando ES_JAVA_OPTS o como parámetros del comando elasticsearch, por ejemplo:

$ elasticsearch -Des.network.host=10.0.0.4

Otra opción es establecer es.default. prefijo en lugar de es. prefijo, lo que significa que la configuración predeterminada se usará solo si no se establece explícitamente en el archivo de configuración.

Otra opción es usar la notación ${...} dentro del archivo de configuración que se resolverá en una configuración de entorno, por ejemplo:

{ "network" : { "host" : "${ES_NET_HOST}" } }

La ubicación del archivo de configuración se puede establecer externamente utilizando una propiedad del sistema:

$ elasticsearch -Des.config=/path/to/config/file

Para obtener más información, consulte https://www.elastic.co/guide/en/elasticsearch/reference/1.4/setup-configuration.html


Como @arsent mencionó, agregue esa dirección IP al archivo de configuración:

sudo nano /etc/elasticsearch/elasticsearch.yml

Jay también agregó un punto importante: si está utilizando un firewall, recuerde agregar una regla que permita el tráfico a ese puerto.

Si desea permitir que un servidor maestro acceda a ES a través de http, agregue una regla que permita el acceso solo desde esa dirección en particular. Por ejemplo, supongamos que está utilizando ufw, luego ejecute este comando para agregar su puerto:

sudo ufw allow from xxx.xxx.xxx.xxx to any port zzzz

Reemplace xxx.xxx.xxx.xxx con la dirección IP de su servidor maestro y zzzz con el puerto que configuró en config/elasticsearch.yml

Se recomienda usar un puerto personalizado y no mantener el 9200 predeterminado

Para probarlo, ingrese SSH en su servidor maestro y haga ping a la ip ES con el puerto correcto para ver si obtiene una respuesta:

curl -X GET ''http://xxx.xxx.xxx.xxx:zzzz''

También puede verificar que ES no sea accesible desde otras IP probándolo con su navegador.

Hay un excelente artículo que muestra cómo configurar ES en Ubuntu en DigitalOcean


En /etc/elasticsearch/elasticsearch.yml :

network.host: 0.0.0.0 network.bind_host: 0.0.0.0 network.publish_host: 0.0.0.0


En config/elasticsearch.yml poner

network.host: 0.0.0.0


En /etc/elasticsearch/elasticsearch.yml establezca el siguiente valor:

network.host: [ localhost, _site_ ]

Esta opción le permite acceder desde el host local y desde todas las computadoras en la red local (192.168.XX), pero no desde afuera.
Lea más sobre esta y otras opciones lea la documentación


En config / elasticsearch.yml, ingrese network.host: 0.0.0.0 como dijo @arsent. Y también agregue la regla de entrada en el firewall para su puerto ElasticSearch (9200 por defecto). Funcionó en ElasticSearch versión 2.3.0


Por defecto, el transporte http y el transporte de elasticsearch interno solo escuchan localhost. Si desea acceder a Elasticsearch desde el host que no sea localhost, intente agregar las siguientes configuraciones en config / elasticsearch.yml .

transport.host: localhost transport.tcp.port: 9300 http.port: 9200 network.host: 0.0.0.0

Aquí, network.host como 0.0.0.0 permite el acceso desde cualquier host dentro de la red.


Reemplace localhost con 0.0.0.0 en dos lugares.

  1. Ir a /etc/elasticsearch/elasticsearch.yml . Busque el valor en network.host y cámbielo a 0.0.0.0

  2. Este es el paso si está utilizando Kibana. Ir a /etc/kibana/kibana.yml . Busque el valor en server.host y cámbielo a 0.0.0.0

Ahora tiene acceso remoto con dirección IP y host.