在虚拟机中启动了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 版权协议,转载请附上原文出处链接和本声明。