Как я могу подключиться, из приложения фляги, к удаленному кластеру эластичного поиска в AWS? - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть кластерasticsearch, работающий на сервере EC2.Когда я пытаюсь подключиться, я получаю различные сообщения об ошибках.

В настоящее время в файлеasticsearch.yml все элементы транспорта закомментированы, но я пробовал:

network.host: 0.0.0.0
and
network.host: ec2-xx-xxx-xxx.aws.instance.com

В моем приложении для колб код выглядит следующим образом:

from datetime import datetime
from flask import Flask, jsonify, request
from elasticsearch import Elasticsearch

#es = Elasticsearch()http://34.245.51.240/
es = Elasticsearch(['ec2-34-xxx-xx-240.eu-west-1.compute.amazonaws.com','9200'])
#es = Elasticsearch(['34.245.51.240','9200'])

application = Flask(__name__)

@application.route('/', methods=['GET'])
def index():
    #results = es.get(index='contents', doc_type='title', id='my-new-slug')
    #return jsonify(results['_source'])
    doc = {
    'author': 'kimchy',
    'text': 'Elasticsearch: cool. bonsai cool.',
    'timestamp': datetime.now(),
    }
    res = es.index(index="test-index", doc_type='tweet', id=1, body=doc)
    print(res['res'])
    return res


#application.run(port=5000, debug=True)
if __name__ == '__main__':
    application.debug = True
    application.run()

Я несколько раз гуглил и перепробовал все возможные конфигурации.

Как правильно достичь этого?

Спасибо.

1 Ответ

0 голосов
/ 18 декабря 2018

Надеюсь, это поможет другим людям.

asticsearch по умолчанию использует порт 9200, поэтому необходимо открыть такой порт на сервере EC2 следующим образом:

CustomTCP TCP 9200 0.0.0.0

Это выполняется путем редактирования мастера групп безопасности, который устанавливает группы безопасностикогда вы настраиваете сервер.

Тогда в вашем приложении Python строка подключения:

es = Elasticsearch("http://00.111.222.33")  //the public IP you can see on your EC2 dashboard

Вот и все.Часы мучений и так просто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...