问题描述:
在虚拟机上安装elasticsearch,使用如下命令后
./elasticsearch
可以显示出客户端访问端口:9200和集群节点间通讯接口:9300,如下图所示:
并且在虚拟机上使用如下命令:可以访问到9200端口,如图所示:
curl 192.168.140.129:9200
但是在其他设备上(比如除虚拟机以外的电脑上),访问该端口则不能返回正常的es信息,显示无法访问
一、报错原因
查阅了很多资料,也重新安装了elasticsearch,但依旧无法解决此问题。或许可以从以下思路入手:连接超时一般为网络限制,防火墙规则过滤导致,但是此时防火墙已经关闭,按道理会开放该端口(但其实没有开放该端口,需要手动打开)
二、解决办法
关闭防火墙并不能保证端口号已经对外开放,需要先启用防火墙,增加开发规则,如不需要可以再关闭防护墙
1.先开启防火墙
systemctl start firewalld
2.开放端口
firewall-cmd --zone=public --add-port=9200/tcp --permanent
3.重新加载配置文件
firewall-cmd --reload
修改以上配置后,最后reboot一下,便可以访问到es信息