Java 配置弹性搜索以侦听0.0.0.0:9200(IPV4)
我一直在尝试使用Java 配置弹性搜索以侦听0.0.0.0:9200(IPV4),java,
elasticsearch,Java,
elasticsearch,我一直在尝试使用ipv4在端口9200上进行弹性搜索(在vpn后面运行),以侦听来自其他机器的传入请求。没有修改默认的elasticsearch.yml,我运行netstat并收到: tcp6 0 0 127.0.0.1:9200 :::* LISTEN 8079/java tcp6 0 0 ::1:9200 :::*
ipv4
在端口9200
上进行弹性搜索(在vpn后面运行),以侦听来自其他机器的传入请求。没有修改默认的elasticsearch.yml
,我运行netstat
并收到:
tcp6 0 0 127.0.0.1:9200 :::* LISTEN 8079/java
tcp6 0 0 ::1:9200 :::* LISTEN 8079/java
tcp6 0 0 127.0.0.1:9300 :::* LISTEN 8079/java
tcp6 0 0 ::1:9300 :::* LISTEN 8079/java
使用默认设置,我可以从机器内部进行curl
elastic search fine,但无法使用curl-XGET[IP]:9200从外部连接curl(curl:(7)无法连接到[IP]端口9200:连接被拒绝
)
我设置了network.host:0.0.0
,停止并启动了elastic searchsudo systemctl启动elasticsearch.service
并等待了一两分钟,但没有任何人在收听0.0.0:9200
。我还尝试了\u local\u:ipv4
和0.0.0:ipv4
,但没有成功
我向jvm.options添加了-Djava.net.preferIPv4Stack=true
,现在我得到了(注释掉了#network.port
):
我试图再次设置network.host:0.0.0
并重新启动该服务,但现在我看不到它在监听任何端口
在日志文件中,我收到一个错误[1]:默认发现设置不适合生产使用;必须至少配置[discovery.seed_主机、discovery.seed_提供程序、cluster.initial_主节点]中的一个
设置cluster.initial\u master\u节点:节点1
修复了它。有效。我将-Djava.net.preferIPv4Stack=true
添加到jvm.options
。还向elasticsearch.yml添加了cluster.initial\u master\u nodes:node-1
。您的防火墙是否允许从外部IP向端口9200发送传入请求?@MadhanVaradhodiyil是的,我确保端口未被防火墙阻止。您尝试过吗?@MadhanVaradhodiyil谢谢!我现在越来越近了。以上更新。
tcp 0 0 127.0.0.1:9200 0.0.0.0:* LISTEN 11131/java
tcp 0 0 127.0.0.1:9300 0.0.0.0:* LISTEN 11131/java