web-dev-qa-db-ja.com

新しい接続を確立できませんでした:[Errno 111]接続が拒否されました(elasticsearch)

このコマンドを使用してelasticsearchをインストールしました:pip install elasticsearchインストール後、次のコマンドを実行しました。

>>> from datetime import datetime
>>> from elasticsearch import Elasticsearch
# by default we connect to localhost:9200
>>> es = Elasticsearch()
# create an index in elasticsearch, ignore status code 400 (index already     exists) #but when I run this instruction:
>>> es.indices.create(index='my-index', ignore=400) // HERE IS THE PROBLEM

私はこのエラーを受け取ります:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "elasticsearch/client/utils.py", line 69, in _wrapped
return func(*args, params=params, **kwargs)
File "elasticsearch/client/indices.py", line 110, in create
params=params, body=body)
File "elasticsearch/transport.py", line 327, in perform_request
status, headers, data = connection.perform_request(method, url, params, body, ignore=ignore, timeout=timeout)
File "elasticsearch/connection/http_urllib3.py", line 105, in perform_request
raise ConnectionError('N/A', str(e), e)
elasticsearch.exceptions.ConnectionError:   ConnectionError(<urllib3.connection.HTTPConnection object at 0x7f847a72ab10>:    Failed to establish a new connection: [Errno 111]     Connection refused) caused by:       NewConnectionError(<urllib3.connection.HTTPConnection object at    0x7f847a72ab10>: Failed to establish a new connection: [Errno 111] Connection    refused)
9

インストールしたものは、Pythonスクリプトと既存のElasticsearchクラスター間の通信に使用されるPythonクライアントです。

あなたのコメントから述べたように、あなたが読み始めた page の上部に、それは言う:

Elasticsearchの公式低レベルクライアント。その目標は、PythonのすべてのElasticsearch関連コードに共通の基盤を提供することです。このため、意見を表明せず、非常に拡張できるようにしています。

クラスターが実行されているクライアントのホストとポートを構成し、それに接続してそのクラスターでコマンドを実行できます。

コードでは、デフォルトのelasticsearchポート9200を使用してクラスターがlocalhostで実行されていることを前提とするデフォルト設定を使用するようにクライアントを構成しました。

マシンにElasticsearchをインストールする 、それを構成して実行する必要があります。これにより、クライアントをクラスターに接続して通信できるようになります。

4
Avihoo Mamka