Не удалось установить ошибку соединения сasticsearch - PullRequest
0 голосов
/ 03 октября 2019

Я прошел простой урок о разработке персонализированного голосового помощника. Для этого я использую Elasticsearch. когда я пытаюсь запустить код, я получаю сообщение от упругого поиска, говорящее Failed to establish new connection. Я не уверен, что является причиной этой ошибки, так как я установил иasticsearch, а также его клиент Python.

Я проверил, установил ли я и эластичный поиск, и его клиент Python, и я сделал это. Я установил клиент Python через установку pip3. Я также проверил, является ли URL-адрес подключения правильным, т. Е. https://localhost:9200/.

Я использую macOS.

s = Elasticsearch(['https://localhost:9200/'])
bulk(es, records, index='voice_assistant', doc_type='text', raise_on_error=True)
def search_es(query):
    res = es.search(index="voice_assistant", doc_type="text", body={                     
    "query" :{
        "match": {
            "voice_command": {
                "query": query,
                "fuzziness": 2
            }
            }
        },
    })
    return res['hits']['hits'][0]['_source']['sys_command'

Фактическое сообщение об ошибке:

File "/usr/local/lib/python3.7/site-packages/elasticsearch/connection/http_urllib3.py", line 105, in perform_request
    raise ConnectionError('N/A', str(e), e)
elasticsearch.exceptions.ConnectionError: ConnectionError(<urllib3.connection.VerifiedHTTPSConnection object at 0x1266dce10>: Failed to establish a new connection: [Errno 61] Connection refused) caused by: NewConnectionError(<urllib3.connection.VerifiedHTTPSConnection object at 0x1266dce10>: Failed to establish a new connection: [Errno 61] Connection refused)

Может кто-нибудь помочь мне исправить эту ошибку. Я впервые использую эластичный поиск.

РЕДАКТИРОВАТЬ: я попытался запустить эластичный поиск в терминале, и у меня появилось следующее предупреждение:

OpenJDK 64-Bit Server VM warning: Cannot open file logs/gc.log due to No such file or directory

Я продолжил поиск в Google об этой обработке инашел ответ, упомянув, что, вероятно, это может быть ошибкой в ​​упругом поиске, в котором я не уверен, поскольку использую последнюю версиюОтвет, о котором я упоминал:

https://stackoverflow.com/questions/48696080/java-hotspottm-64-bit-server-vm-warning-cannot-open-file-logs-gc-log-due-to-no

Edit2: Теперь, когда я пытаюсь запустить эластичный поиск в erminal, я получаю следующую ошибку

StartupException: java.lang.IllegalStateException: failed to obtain node locks, tried [[/usr/local/var/lib/elasticsearch]] with lock id [0]; maybe these locations are not writable or multiple nodes were started without increasing [node.max_local_storage_nodes] (was [1])?
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-7.4.0.jar:7.4.0]
    at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-7.4.0.jar:7.4.0]
    at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-7.4.0.jar:7.4.0]
    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:125) ~[elasticsearch-cli-7.4.0.jar:7.4.0]
    at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-7.4.0.jar:7.4.0]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:115) ~[elasticsearch-7.4.0.jar:7.4.0]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-7.4.0.jar:7.4.0]

Вчера я получил ту же ошибку, но когдаЯ перезапустил свою систему, все работает нормально, это потому, что позади выполняется какая-то операция, и есть ли у нее какая-либо конкретная команда killall, чтобы завершить все операции перед ее запуском?

1 Ответ

0 голосов
/ 14 октября 2019

хорошо, с использованием последней версии модуля python-es проблема была решена, поэтому лучше обновить модуль. В приведенном выше случае использовалась предыдущая версия 2.4.0v, а самая последняя версия - 6.0.0v, поэтому проблема была решена.

...