繁体   English   中英

在python上运行elasticsearch和kibana时出现回溯错误

[英]Traceback error when running elasticsearch and kibana on python

 Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/urllib3/connection.py", line 157, in _new_conn (self._dns_host, self.port), self.timeout, **extra_kw File "/usr/local/lib/python3.7/site-packages/urllib3/util/connection.py", line 84, in create_connection raise err File "/usr/local/lib/python3.7/site-packages/urllib3/util/connection.py", line 74, in create_connection sock.connect(sa) ConnectionRefusedError: [Errno 111] Connection refused

我上面有一条错误消息。 我的python代码(main.py)如下。 我正在使用 docker-compose 来实现 elasticsearch 和 kibana。 我应该如何修复我的代码? 我的问题是来自 main.py 还是 docker-compose.yml?

我的 main.py 在下面。

 from datetime import datetime from elasticsearch import Elasticsearch es = Elasticsearch() doc = { 'author': 'taqkarim', 'text': 'Testing ElasticSearch', 'timestamp': datetime(2012, 9, 16, 0, 0), # in the far past } # load a tweet into ES res = es.index(index="test-index", doc_type='tweet', id=1, body=doc) print(res['result']) # query by id res = es.get(index="test-index", doc_type='tweet', id=1) print(res['_source']) es.indices.refresh(index="test-index") # search res = es.search(index="test-index", body={"query": {"match_all":{}}}) print("Got %d Hits:" % res['hits']['total']) for hit in res['hits']['hits']: print("%(timestamp)s %(author)s: %(text)s" % hit["_source"])

您应该将 Elasticsearch 主机和端口显式设置为:

es = Elasticsearch([
    {'host': 'my-es-host', 'port': 9200},
])

此外检查您的 Elasticsearch 容器是否打开了 9200 端口,例如

services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.6.1
    environment:
      .... some env vars
    ports:
      - 9200:9200

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM