A partir de v2.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.
elasticsearch
Abraham Duran
fuente
fuente
Respuestas:
En
config/elasticsearch.yml
ponerfuente
/etc/elasticsearch/elasticsearch.yml
y su contenido:network.host: ["0.0.0.0"]
T_T
C:\ProgramData\Elastic\Elasticsearch\config
ubicación. Si desea conectarse mediante programación a Elasticsearch, es posible que deba configurartransport.host: 0.0.0.0
enelasticsearch.yml
file.Por defecto, el transporte http y el transporte interno de elasticsearch solo escucha localhost. Si desea acceder a Elasticsearch desde el host que no sea localhost, intente agregar las siguientes configuraciones en config / elasticsearch.yml .
Aquí, network.host como 0.0.0.0 permite el acceso desde cualquier host dentro de la red.
fuente
elasticsearch.yml
archivoCambie el nombre del archivo elasticsearch.yml a elasticsearch.json dentro de la carpeta de configuración y agregue:
Otra opción es proporcionar la configuración externamente usando ES_JAVA_OPTS o como parámetros para el comando elasticsearch, por ejemplo:
$ elasticsearch -Des.network.host=10.0.0.4
Otra opción es configurar es.default. prefijo en lugar de es. prefijo, lo que significa que la configuración predeterminada se utilizará 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 del entorno, por ejemplo:La ubicación del archivo de configuración se puede establecer externamente mediante 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
fuente
elasticsearch.yml
aelasticsearch.json
porque el primero, hmmm, YAML y el segundo esJSON
??Como mencionó @arsent, agregue esa dirección IP al archivo de configuración:
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, digamos que está usando ufw, luego ejecute este comando para agregar su puerto:
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 utilizar un puerto personalizado y no mantener el 9200 predeterminado
Para probarlo, ingrese SSH en su servidor maestro y haga ping a la IP de ES con el puerto correcto para ver si obtiene una respuesta:
También puede verificar que ES sea inaccesible desde otras direcciones IP probándolo con su navegador.
Hay un excelente artículo que muestra cómo configurar ES en Ubuntu en DigitalOcean
fuente
En /etc/elasticsearch/elasticsearch.yml establezca el siguiente valor:
network.host: [ localhost, _site_ ]
Esta opción le permite acceder tanto desde el host local como desde todas las computadoras de la red local (192.168.XX), pero no desde el exterior.
Lea más sobre esta y otras opciones lea la documentación
fuente
En la máquina remota donde está instalado elasticsearch, simplemente agregue las dos configuraciones siguientes en
/etc/elasticsearch/elasticsearch.yml
Probado en elasticsearch 6.8.3 y AWS EC2 Linux AMI como máquina remota
fuente
En
/etc/elasticsearch/elasticsearch.yml
:fuente
Reemplace localhost con 0.0.0.0 en dos lugares.
Goto
/etc/elasticsearch/elasticsearch.yml
. Busque valor en network.host y cámbielo a 0.0.0.0Este es el paso si está utilizando Kibana. Goto
/etc/kibana/kibana.yml
. Busque el valor en server.host y cámbielo a 0.0.0.0Ahora accede de forma remota con la dirección IP y el host.
fuente
En
config/elasticsearch.yml
, ponernetwork.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
fuente
Para ElasticSearch 7.8 y versiones posteriores
Compruebe si está en un solo nodo. agregar la siguiente línea
Para acceder al servidor Elasticsearch desde otra computadora o aplicación, realice los siguientes cambios en el nodo
C:\ProgramData\Elastic\Elasticsearch\config\elasticsearch.yml file:
Agregar las siguientes líneas
En algún momento, es posible que deba habilitar CORS
Aquí está mi archivo yml completo
fuente
Aparte de establecer
network.host : 0.0.0.0
puede ser necesario establecer los siguientes parámetros
Todo el entorno entra
elasticsearch/elasticsearch.yml
fuente