YARN 리소스 관리자 "HTTP 요청이 전송되었으며 응답을 기다리는 중..."

YARN 리소스 관리자 "HTTP 요청이 전송되었으며 응답을 기다리는 중..."

활성/대기 리소스 관리자 서비스가 있는 Hadoop 클러스터가 있습니다. 활성 리소스 관리자는 master1 시스템에 있고 대기 리소스 관리자는 master2 시스템에 있습니다.

두 리소스 관리자 서비스를 모두 포함하는 클러스터 YARN 서비스는 작업자 컴퓨터의 276 노드 관리자 구성 요소를 관리하고 있습니다.

Ambari WEB UI 경고(Resource Manager에 대한 경고)에서 다음 사항에 대해 알 수 있습니다.

Resource Manager Web UI
Connection failed to http://master2.jupiter.com:8088(timed out)

포트 8088을 사용하여 wget으로 문제를 디버깅하기 시작했으며 프로세스가 중단된 것을 발견했습니다. HTTP 요청이 전송되었습니다 awaiting response... No data received.

리소스 관리자 시스템의 예

wget --debug  http://master2.jupiter.com:8088
DEBUG output created by Wget 1.14 on Linux-gnu.

URI encoding = ‘UTF-8’
Converted file name 'index.html' (UTF-8) -> 'index.html' (UTF-8)
Converted file name 'index.html' (UTF-8) -> 'index.html' (UTF-8)
--2024-02-21 10:13:42--  http://master2`              .jupiter.com:8088/
Resolving master2.jupiter.com (master2.jupiter.com)... 192.9.201.169
Caching master2.jupiter.com => 192.9.201.169
Connecting to master2.jupiter.com (master2.jupiter.com)|192.9.201.169|:8088... connected.
Created socket 3.
Releasing 0x0000000000a0da00 (new refcount 1).

---request begin---
GET / HTTP/1.1
User-Agent: Wget/1.14 (linux-gnu)
Accept: */*
Host: master2.jupiter.com:8088
Connection: Keep-Alive

---request end---
HTTP request sent, awaiting response...
---response begin---
HTTP/1.1 307 TEMPORARY_REDIRECT
Cache-Control: no-cache
Expires: Wed, 21 Feb 2024 10:13:42 GMT
Date: Wed, 21 Feb 2024 10:13:42 GMT
Pragma: no-cache
Expires: Wed, 21 Feb 2024 10:13:42 GMT
Date: Wed, 21 Feb 2024 10:13:42 GMT
Pragma: no-cache
Content-Type: text/plain; charset=UTF-8
X-Frame-Options: SAMEORIGIN
Location: http://master1.jupiter.com:8088/
Content-Length: 43
Server: Jetty(6.1.26.hwx)

---response end---
307 TEMPORARY_REDIRECT
Registered socket 3 for persistent reuse.
URI content encoding = ‘UTF-8’
Location: http://master1.jupiter.com:8088/ [following]
Skipping 43 bytes of body: [This is standby RM. The redirect url is: /
] done.
URI content encoding = None
Converted file name 'index.html' (UTF-8) -> 'index.html' (UTF-8)
Converted file name 'index.html' (UTF-8) -> 'index.html' (UTF-8)
--2024-02-21 10:13:42--  http://master1.jupiter.com:8088/
conaddr is: 192.9.201.169
Resolving master1.jupiter.com (master1.jupiter.com)... 192.9.66.14
Caching master1.jupiter.com => 192.9.66.14
Releasing 0x0000000000a0f320 (new refcount 1).
Found master1.jupiter.com in host_name_addresses_map (0xa0f320)
Connecting to master1.jupiter.com (master1.jupiter.com)|192.9.66.14|:8088... connected.
Created socket 4.
Releasing 0x0000000000a0f320 (new refcount 1).
.
.
.

---response end---
302 Found
Disabling further reuse of socket 3.
Closed fd 3
Registered socket 4 for persistent reuse.
URI content encoding = ‘UTF-8’
Location: http://master1.jupiter.com:8088/cluster [following]
] done.
URI content encoding = None
Converted file name 'index.html' (UTF-8) -> 'index.html' (UTF-8)
Converted file name 'index.html' (UTF-8) -> 'index.html' (UTF-8)
--2024-02-21 10:27:07--  http://master1.jupiter.com:8088/cluster
Reusing existing connection to master1.jupiter.com:8088.
Reusing fd 4.

---request begin---
GET /cluster HTTP/1.1
User-Agent: Wget/1.14 (linux-gnu)
Accept: */*
Host: master1.jupiter.com:8088
Connection: Keep-Alive

---request end---
HTTP request sent, awaiting response...
---response begin---
HTTP/1.1 200 OK
Cache-Control: no-cache
Expires: Wed, 21 Feb 2024 10:30:23 GMT
Date: Wed, 21 Feb 2024 10:30:23 GMT
Pragma: no-cache
Expires: Wed, 21 Feb 2024 10:30:23 GMT
Date: Wed, 21 Feb 2024 10:30:23 GMT
Pragma: no-cache
Content-Type: text/html; charset=utf-8
X-Frame-Options: SAMEORIGIN
Transfer-Encoding: chunked
Server: Jetty(6.1.26.hwx)

---response end---
200 OK
URI content encoding = ‘utf-8’
Length: unspecified [text/html]
Saving to: ‘index.html’

    [ <=>                                                                                                                                                                                                ] 1,018,917   --.-K/s   in 0.04s

2024-02-21 10:31:31 (24.0 MB/s) - ‘index.html’ saved [1018917]

위에서 볼 수 있듯이 wget은 1~2초 안에 프로세스를 완료하는 대신 약 20분 정도의 매우 오랜 시간 후에 완료됩니다.

우리는 tcpdump를 다음과 같이 사용할 수 있습니다

tcpdump -vv -s0 tcp port 8088 -w /tmp/why_8088_hang.pcap

하지만 HTTP 요청이 전송되고 응답을 기다리는 이유를 이해하는 더 간단한 방법이 있는지, 그리고 리소스 관리자 서비스와 관련이 있는지 알고 싶습니다.

관련 정보