无法连接到 XX.XX.XXX.XX 端口 9200:EC2 上的连接被拒绝
Failed to connect to XX.XX.XXX.XX port 9200: Connection refused on EC2
我已经在 EC2 Ubuntu 14 服务器上安装了 Elasticsearch。
我可以看到它是 运行:
elastic@ip-xxx-xx-xx-xxx:~$ curl -get localhost:9200
{
"name" : "ip-xxx-xx-xx-xxx",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "V6axWUV9SoqABC8sX62XMQ",
"version" : {
"number" : "7.0.1",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "e4efcb5",
"build_date" : "2019-04-29T12:57:03.145736Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.7.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
我已将其添加到安全组:
但是我无法远程连接:
C:\>curl -get http://XX.XX.XXX.XX:9200/
curl: (7) Failed to connect to XX.XX.XXX.XX port 9200: Connection refused
netstat -nlp |grep 9200:
tcp6 0 0 127.0.0.1:9200 :::* LISTEN 29467/java
tcp6 0 0 ::1:9200 :::* LISTEN 29467/java
这是elasticsearch.yml去掉所有评论后的内容:
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
请在elasticsearch.yml中添加以下行并重启elasticsearch服务:
network.host: xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx 是你的 elasticsearch 服务器的 IP 地址
我已经解决了问题
我必须配置的第一件事是 network.host
,但非常重要的是要注意它不适用于我尝试从客户端连接的 IP,因为这是 EC2 public 知识产权。我不得不使用 EC2 私有 IP。
但后来我不断收到同样的错误,我发现集群协调算法在 Elasticsearch 7.0 中发生了变化,为了安全起见,它需要一些特定的配置。 Elastic 放宽了这一要求(也就是说,他们 运行 在 less-safe 模式下)当一个人只绑定到本地主机时,但是 if/when 一个改变 network.host
他们强制他配置集群安全。
因此,由于我使用的是单节点集群,因此我必须将以下设置添加到 elasticsearch.yml 中的发现部分:
discovery.type: single-node
我已经在 EC2 Ubuntu 14 服务器上安装了 Elasticsearch。
我可以看到它是 运行:
elastic@ip-xxx-xx-xx-xxx:~$ curl -get localhost:9200
{
"name" : "ip-xxx-xx-xx-xxx",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "V6axWUV9SoqABC8sX62XMQ",
"version" : {
"number" : "7.0.1",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "e4efcb5",
"build_date" : "2019-04-29T12:57:03.145736Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.7.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
我已将其添加到安全组:
但是我无法远程连接:
C:\>curl -get http://XX.XX.XXX.XX:9200/
curl: (7) Failed to connect to XX.XX.XXX.XX port 9200: Connection refused
netstat -nlp |grep 9200:
tcp6 0 0 127.0.0.1:9200 :::* LISTEN 29467/java
tcp6 0 0 ::1:9200 :::* LISTEN 29467/java
这是elasticsearch.yml去掉所有评论后的内容:
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
请在elasticsearch.yml中添加以下行并重启elasticsearch服务:
network.host: xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx 是你的 elasticsearch 服务器的 IP 地址
我已经解决了问题
我必须配置的第一件事是 network.host
,但非常重要的是要注意它不适用于我尝试从客户端连接的 IP,因为这是 EC2 public 知识产权。我不得不使用 EC2 私有 IP。
但后来我不断收到同样的错误,我发现集群协调算法在 Elasticsearch 7.0 中发生了变化,为了安全起见,它需要一些特定的配置。 Elastic 放宽了这一要求(也就是说,他们 运行 在 less-safe 模式下)当一个人只绑定到本地主机时,但是 if/when 一个改变 network.host
他们强制他配置集群安全。
因此,由于我使用的是单节点集群,因此我必须将以下设置添加到 elasticsearch.yml 中的发现部分:
discovery.type: single-node