首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >由于NewConnectionError导致无法建立新连接,超出了url的最大重试次数:[Errno -3]名称解析中出现临时故障

由于NewConnectionError导致无法建立新连接,超出了url的最大重试次数:[Errno -3]名称解析中出现临时故障
EN

Stack Overflow用户
提问于 2021-09-25 06:35:01
回答 1查看 2.7K关注 0票数 2

我正在使用python请求库请求一个API:

我的python脚本由调度程序每天运行一次,一旦python脚本运行,我就会收到这个错误,python脚本的PID显示为OOM。我不知道这是DNS问题还是OOM (内存不足)问题,因为进程正在被终止。

之前的脚本运行正常。

任何线索/帮助都将是非常有用的。

代码语言:javascript
运行
复制
Traceback (most recent call last):
  File "/home/ubuntu/.local/lib/python3.6/site-packages/urllib3/connection.py", line 170, in _new_conn
    (self._dns_host, self.port), self.timeout, **extra_kw
  File "/home/ubuntu/.local/lib/python3.6/site-packages/urllib3/util/connection.py", line 73, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
  File "/usr/lib/python3.6/socket.py", line 745, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Temporary failure in name resolution

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ubuntu/.local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 706, in urlopen
    chunked=chunked,
  File "/home/ubuntu/.local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 382, in _make_request
    self._validate_conn(conn)
  File "/home/ubuntu/.local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 1010, in _validate_conn
    conn.connect()
  File "/home/ubuntu/.local/lib/python3.6/site-packages/urllib3/connection.py", line 353, in connect
    conn = self._new_conn()
  File "/home/ubuntu/.local/lib/python3.6/site-packages/urllib3/connection.py", line 182, in _new_conn
    self, "Failed to establish a new connection: %s" % e
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x7f163156c160>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ubuntu/.local/lib/python3.6/site-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/home/ubuntu/.local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 756, in urlopen
    method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
  File "/home/ubuntu/.local/lib/python3.6/site-packages/urllib3/util/retry.py", line 574, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='<.............>', port=443): Max retries exceeded with url: /api/v2/test_connection/ (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f163156c160>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ubuntu/pf_cic_etl_script_v2.py", line 50, in <module>
    resp = requests.get(url, headers=headers)
  File "/home/ubuntu/.local/lib/python3.6/site-packages/requests/api.py", line 76, in get
    return request('get', url, params=params, **kwargs)
  File "/home/ubuntu/.local/lib/python3.6/site-packages/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/home/ubuntu/.local/lib/python3.6/site-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/ubuntu/.local/lib/python3.6/site-packages/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "/home/ubuntu/.local/lib/python3.6/site-packages/requests/adapters.py", line 516, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='<...............>', port=443): Max retries exceeded with url: /api/v2/test_connection/ (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f163156c160>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',))
Killed

进程终止日志-

代码语言:javascript
运行
复制
dmesg -T| grep -E -i -B100 'killed process'
[Sat Sep 25 06:08:31 2021] Tasks state (memory values in pages):
[Sat Sep 25 06:08:31 2021] [  pid  ]   uid  tgid total_vm      rss pgtables_bytes swapents oom_score_adj name
[Sat Sep 25 06:08:31 2021] [   1643]  1000  1643   517804   455512  4157440        0             0 python3
[Sat Sep 25 06:08:31 2021] [   1651]     0  1651     5954       69    86016        0             0 apport
[Sat Sep 25 06:08:31 2021] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/user.slice,task=python3,pid=1643,uid=1000
[Sat Sep 25 06:08:31 2021] Out of memory: Killed process 1643 (python3) total-vm:2071216kB, anon-rss:1822048kB, file-rss:0kB, shmem-rss:0kB, UID:1000 pgtables:4060kB oom_score_adj:0

EN

Stack Overflow用户

回答已采纳

发布于 2021-09-27 10:41:12

我发现了问题,在我的情况下,这不是DNS问题。该问题与ec2实例的OOM(内存不足)有关,该实例正在终止python脚本的进程,由于“实例可达性检查失败”,我得到了“无法建立新连接:名称解析中的Errno -3临时失败”。

升级ec2实例后,实例可达性正常,可以运行包含api的python脚本。

https://aws.amazon.com/premiumsupport/knowledge-center/system-reachability-check/

实例状态检查失败表示实例的可达性有问题。出现此问题的原因是操作系统级错误,如下所示:

无法启动操作系统,无法正确挂载卷,会耗尽CPU和内存-在我们的示例中就会发生这种情况。内核死机

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69323728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档