代码之家  ›  专栏  ›  技术社区  ›  Amadan

Elasticsearch().ping()在服务器未启动时显示urllib3中的错误

  •  -1
  • Amadan  · 技术社区  · 5 年前

    我期望 Elasticsearch.ping True 如果可以联系Elasticsearch,以及 False ping 将在最终返回之前显示一系列错误 . 有什么办法可以预防吗?我真的不需要这些,我只想要我的 .

    $ python3
    Python 3.6.5 (default, Jun 17 2018, 12:13:06) 
    [GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.2)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import elasticsearch
    >>> elasticsearch.Elasticsearch().ping()
    HEAD http://localhost:9200/ [status:N/A request:0.002s]
    Traceback (most recent call last):
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connection.py", line 171, in _new_conn
        (self._dns_host, self.port), self.timeout, **extra_kw)
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/util/connection.py", line 79, in create_connection
        raise err
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/util/connection.py", line 69, in create_connection
        sock.connect(sa)
    ConnectionRefusedError: [Errno 61] Connection refused
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/elasticsearch/connection/http_urllib3.py", line 172, in perform_request
        response = self.pool.urlopen(method, url, body, retries=Retry(False), headers=request_headers, **kw)
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connectionpool.py", line 638, in urlopen
        _stacktrace=sys.exc_info()[2])
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/util/retry.py", line 343, in increment
        raise six.reraise(type(error), error, _stacktrace)
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/packages/six.py", line 686, in reraise
        raise value
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connectionpool.py", line 600, in urlopen
        chunked=chunked)
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connectionpool.py", line 354, in _make_request
        conn.request(method, url, **httplib_request_kw)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1239, in request
        self._send_request(method, url, body, headers, encode_chunked)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1285, in _send_request
        self.endheaders(body, encode_chunked=encode_chunked)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1234, in endheaders
        self._send_output(message_body, encode_chunked=encode_chunked)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1026, in _send_output
        self.send(msg)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 964, in send
        self.connect()
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connection.py", line 196, in connect
        conn = self._new_conn()
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connection.py", line 180, in _new_conn
        self, "Failed to establish a new connection: %s" % e)
    urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x109d19550>: Failed to establish a new connection: [Errno 61] Connection refused
    HEAD http://localhost:9200/ [status:N/A request:0.002s]
    Traceback (most recent call last):
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connection.py", line 171, in _new_conn
        (self._dns_host, self.port), self.timeout, **extra_kw)
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/util/connection.py", line 79, in create_connection
        raise err
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/util/connection.py", line 69, in create_connection
        sock.connect(sa)
    ConnectionRefusedError: [Errno 61] Connection refused
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/elasticsearch/connection/http_urllib3.py", line 172, in perform_request
        response = self.pool.urlopen(method, url, body, retries=Retry(False), headers=request_headers, **kw)
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connectionpool.py", line 638, in urlopen
        _stacktrace=sys.exc_info()[2])
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/util/retry.py", line 343, in increment
        raise six.reraise(type(error), error, _stacktrace)
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/packages/six.py", line 686, in reraise
        raise value
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connectionpool.py", line 600, in urlopen
        chunked=chunked)
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connectionpool.py", line 354, in _make_request
        conn.request(method, url, **httplib_request_kw)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1239, in request
        self._send_request(method, url, body, headers, encode_chunked)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1285, in _send_request
        self.endheaders(body, encode_chunked=encode_chunked)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1234, in endheaders
        self._send_output(message_body, encode_chunked=encode_chunked)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1026, in _send_output
        self.send(msg)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 964, in send
        self.connect()
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connection.py", line 196, in connect
        conn = self._new_conn()
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connection.py", line 180, in _new_conn
        self, "Failed to establish a new connection: %s" % e)
    urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x109d195c0>: Failed to establish a new connection: [Errno 61] Connection refused
    HEAD http://localhost:9200/ [status:N/A request:0.002s]
    Traceback (most recent call last):
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connection.py", line 171, in _new_conn
        (self._dns_host, self.port), self.timeout, **extra_kw)
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/util/connection.py", line 79, in create_connection
        raise err
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/util/connection.py", line 69, in create_connection
        sock.connect(sa)
    ConnectionRefusedError: [Errno 61] Connection refused
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/elasticsearch/connection/http_urllib3.py", line 172, in perform_request
        response = self.pool.urlopen(method, url, body, retries=Retry(False), headers=request_headers, **kw)
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connectionpool.py", line 638, in urlopen
        _stacktrace=sys.exc_info()[2])
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/util/retry.py", line 343, in increment
        raise six.reraise(type(error), error, _stacktrace)
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/packages/six.py", line 686, in reraise
        raise value
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connectionpool.py", line 600, in urlopen
        chunked=chunked)
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connectionpool.py", line 354, in _make_request
        conn.request(method, url, **httplib_request_kw)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1239, in request
        self._send_request(method, url, body, headers, encode_chunked)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1285, in _send_request
        self.endheaders(body, encode_chunked=encode_chunked)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1234, in endheaders
        self._send_output(message_body, encode_chunked=encode_chunked)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1026, in _send_output
        self.send(msg)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 964, in send
        self.connect()
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connection.py", line 196, in connect
        conn = self._new_conn()
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connection.py", line 180, in _new_conn
        self, "Failed to establish a new connection: %s" % e)
    urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x109d196a0>: Failed to establish a new connection: [Errno 61] Connection refused
    HEAD http://localhost:9200/ [status:N/A request:0.002s]
    Traceback (most recent call last):
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connection.py", line 171, in _new_conn
        (self._dns_host, self.port), self.timeout, **extra_kw)
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/util/connection.py", line 79, in create_connection
        raise err
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/util/connection.py", line 69, in create_connection
        sock.connect(sa)
    ConnectionRefusedError: [Errno 61] Connection refused
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/elasticsearch/connection/http_urllib3.py", line 172, in perform_request
        response = self.pool.urlopen(method, url, body, retries=Retry(False), headers=request_headers, **kw)
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connectionpool.py", line 638, in urlopen
        _stacktrace=sys.exc_info()[2])
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/util/retry.py", line 343, in increment
        raise six.reraise(type(error), error, _stacktrace)
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/packages/six.py", line 686, in reraise
        raise value
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connectionpool.py", line 600, in urlopen
        chunked=chunked)
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connectionpool.py", line 354, in _make_request
        conn.request(method, url, **httplib_request_kw)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1239, in request
        self._send_request(method, url, body, headers, encode_chunked)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1285, in _send_request
        self.endheaders(body, encode_chunked=encode_chunked)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1234, in endheaders
        self._send_output(message_body, encode_chunked=encode_chunked)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 1026, in _send_output
        self.send(msg)
      File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/http/client.py", line 964, in send
        self.connect()
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connection.py", line 196, in connect
        conn = self._new_conn()
      File "/Users/amadan/work/aistqa/venv/lib/python3.6/site-packages/urllib3/connection.py", line 180, in _new_conn
        self, "Failed to establish a new connection: %s" % e)
    urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x109d19780>: Failed to establish a new connection: [Errno 61] Connection refused
    False
    >>>
    
    1 回复  |  直到 5 年前
        1
  •  2
  •   ddor254    5 年前

    似乎有些人遇到了一个错误: https://github.com/elastic/elasticsearch-py/issues/666

    综上所述,请尝试在弹性搜索中抑制记录器以仅记录错误,如下所示:

    import logging
    logging.basicConfig(level=logging.ERROR)
    

    编辑:OP用一种更具体的方法解决了这个问题 elasticsearch 使用:

    import logging; 
    logging.getLogger('elasticsearch').level = logging.ERROR
    

    两种方法都有效。