dro*_*bot 8 azure elasticsearch windows2012
我已将Elastic Search 2.3.0设置为具有Windows Server 2012 R2的Azure VM中的服务.我可以使用来自服务器内的弹性搜索实例
http://localhost:9200
Run Code Online (Sandbox Code Playgroud)
但我无法从服务器外部访问.
我试过了什么?
尝试使用VM Classic.
另外,为了测试VM是否正常,我在该机器中设置了IIS,打开了端口80.可以从外部访问默认的IIS页面.
我唯一没有尝试的是在Linux VM中设置ES.
我在elasticsearch日志中找不到任何内容.在浏览器(Chrome)上,网络中没有日志.它只是旋转,等待服务器,并与"ERR_EMPTY_RESPONSE"对齐.
任何做过这件事的人都能解决一些问题吗?
更新:这是我在netstat中可以看到的:
TCP 127.0.0.1:9200 machine-name:0 LISTENING
TCP 127.0.0.1:9300 machine-name:0 LISTENING
Run Code Online (Sandbox Code Playgroud)
Val*_*Val 23
从ES 2.0开始,elasticsearch进程仅绑定到localhost,这解释了为什么您可以从内部而不是从外部查询ES.
您需要在elasticsearch.yml配置文件中更改以下设置:
network.host: 0.0.0.0
Run Code Online (Sandbox Code Playgroud)
小智 7
我有同样的情况。在日志中查找
tail -f /var/log/elasticsearch/NODE.log
Run Code Online (Sandbox Code Playgroud)
我看到了这个:
[NODE_NAME] publish_address {10.XXX.XXX.XXX:9300}, bound_addresses {10.XXX.XXX.XXX:9300}
[NODE_NAME] bound or publishing to a non-loopback address, enforcing bootstrap checks
[NODE_NAME] node validation exception
[1] bootstrap checks failed
[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
[NODE_NAME] stopping ...
[NODE_NAME] stopped
Run Code Online (Sandbox Code Playgroud)
解:
使用以下命令修改档案/ etc/elasticsearch/elasticsearch.yml行不一致种子中的内容:
discovery.seed_hosts: ["127.0.0.1", "[::1]"]
Run Code Online (Sandbox Code Playgroud)
做完了