Rails: экземпляр gem для поиска и экземпляр amazon ec2, Faraday :: ConnectionFailed - PullRequest
0 голосов
/ 15 мая 2018

Я создал экземпляр 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,asticsearch запускается нормально, но когда я пытаюсь переиндексировать снова, снова появляется та же ошибка.

кстати, когда я делаю это внутри ssh curl localhost:9200/_cluster/health?pretty Я получаю это:

curl: (7) Failed to connect to localhost port 9200: Connection refused

но если я использую частный ip экземпляра amazon ec2, он работает и возвращает всю информацию о кластере.

curl http://xxx.xx.xx.xx:9200/_cluster/health?pretty^C

Есть идеи, что мне здесь не хватает и как заставить это работать?

1 Ответ

0 голосов
/ 09 августа 2018

Elasticsearch связывается с network.host, поэтому, если вы хотите использовать localhost вместо частного ip, вам нужно использовать network.host: _local_.

Соответствующие документы

...