Elastic Search 和 Kibana 启动后外网无法访问的问题

  • Post author:
  • Post category:其他

在虚拟机中启动了ES和Kibana后发现只能在虚拟机本地进行访问,而切换到外网后无法访问ES和Kibana 针对这个问题,送网上搜集了各种资料,接下来做一个总结。

1.ES无法访问的问题

 1. 当发现外网无法访问ES时,第一时间想到了查看ES的配置文件 elasticsearch.yml 经过查看后,发现默认配置中ES的网络设置里有这么一项 

network.host: 192.168.0.1 

 经过查找资料,发现果然是这个设置出了问题,取消其注释 ,并将其修改为:

network.host: 0.0.0.0

注意冒号和ip之间有空格,不然会报错

2.修改完毕后重新运行ES发现ES无法启动了,还出现了错误:

[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2]: 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

对于第一个错误,采用如下方法解决:

sysctl -w vm.max_map_count=262144 
sysctl -a|grep vm.max_map_count # 设置完成后可以通过该命令查看是否设置成功

对于第二个错误则还是需要修改配置文件,在配置文件中找到Discovery这一节,并进行如下修改:

cluster.initial_master_nodes: ["elasticsearch"]   #修改完不要忘记取消注释

接下来重启ES应该就可以顺利启动了。并且此时可以通过外网访问了。

2.Kibana无法外网访问的问题

经过ES问题的解决,应该也会受到启发,理所当然的想到该问题也是默认配置文件导致的。于是查看Kibana的配置文件Kibana.yml  发现其中有一项如下:

server.host: "localhost" 

解决了ES的问题后,我们应该想到这个也是Kibana无法外网访问的原因,将其按照之前的规则进行修改,并取消注释:

server.host: "0.0.0.0"

重启Kibana发现已经可以外网访问了。


版权声明:本文为The_OneRS原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。