我创建了一个amazon ec2实例,并通过ssh
成功登录到实例。现在我正在尝试使用rails c
从Model.reindex
重新索引模型,但我收到以下错误:
Faraday::ConnectionFailed: Failed to open TCP connection to localhost:9200 (Connection refused - connect(2) for "localhost" port 9200)
我已将所有tcp端口(80,22,5432,433,9200,9300)添加到相应的安全组。
我还编辑了/etc/elasticsearch/elasticsearch.yml
文件,其中包含以下信息:
cluster.name: esonaws
bootstrap.mlockall: true
network.host: xxx.xx.xx.xx(this is the instance private ip)
http.port: 9200
discovery.zen.ping.unicast.hosts: xxx.xx.xx.xx(this is the instance private ip)
然后做了sudo service elasticsearch restart
,弹性搜索开始正常,但是当我再次尝试重新索引时,会再次弹出相同的错误。
顺便说一句,当我在ssh
curl localhost:9200/_cluster/health?pretty
内执行此操作时,我得到了这个:
curl: (7) Failed to connect to localhost port 9200: Connection refused
但如果我使用amazon ec2 instanceit的私有ip工作并返回所有集群信息。
curl http://xxx.xx.xx.xx:9200/_cluster/health?pretty^C
我在这里可能缺少的任何想法以及如何使其发挥作用?
答案 0 :(得分:0)
Elasticsearch绑定到network.host
,因此,如果要使用localhost
而不是专用ip,则需要使用network.host: _local_
。