telnet-“외부 호스트에 의한 연결 종료”


21

Apache Spark 클러스터를 설정하고 싶지만 포트 7077 (Spark Master가 실행중인)의 작업자 시스템에서 마스터 시스템으로 통신 할 수 없습니다.

그래서 나는 telnet작업자 기계에서 마스터에게 시도했고 이것이 내가보고있는 것입니다.

root@worker:~# telnet spark 7077
Trying 10.xx.xx.xx...
Connected to spark.
Escape character is '^]'.
Connection closed by foreign host.

명령이 "외부 호스트에 의해 연결이 닫힘"상태로 즉시 종료되었습니다. 시간 종료 또는 다른 것은 없습니다.

호스트가 포트에서 수신 대기 telnet중이고 출력에 "Connected to spark"가 표시되었으므로 확인했습니다. — 또한 연결에 성공했음을 의미합니다.

그러한 행동의 이유는 무엇입니까? 이 연결이 종료되어 작업자 컴퓨터에서 마스터로 통신 할 수없는 이유가 있는지 궁금합니다.


텔넷 포트 (23)가 스파크시 iptables에 액세스 할 수 있습니까?
ryekayo

스파크의 iptables가 비어 있습니다. 정책은 INPUT, FORWARD 및 OUTPUT 체인에 적용됩니다
Mor Eru

답변:


15

포트 7077에서 연결을 청취하는 프로세스가 연결을 승인 한 후 즉시 연결을 닫는 중입니다. 문제는 시스템 자체가 아니라 해당 응용 프로그램의 코드 또는 구성에 있습니다.


따라서 연결에 아무런 문제가 없을 수 있으며 응용 프로그램이 어떻게 작동합니까? 나는 Apache Spark를 처음 사용하고 이것이 예상되는 동작인지 모르겠습니다 !!!
Mor Eru

2
이것이 응용 프로그램이 어떻게 작동하는지 의심됩니다. 구성 디버깅 정보는 Apache Spark 설명서 및 지원 사이트를 확인하십시오.
John

5

방금 일부 가상 서버, 특히 NAT를 실행하는 서버에서 이상한 동작을 배웠습니다. 가상 서버에 의해 노출 된 포트에 외부로 연결합니다. 그런 다음 서버는 연결을 대상에 전달하려고 시도합니다. 대상이 거부합니다. 따라서 NAT는 메시지없이 연결을 닫습니다. 무슨 일이 일어나고 있는지 알아 내려고 머리를 당겨. 이것은 이전 답변과 매우 비슷합니다. 소스는 가상 호스트 자체의 상호 작용입니다.

가장 큰 원인은 누군가 포트를 사용 중이고 실행중인 응용 프로그램은 한 번에 하나의 연결 만 허용하고 추가 연결은 거부하기 때문입니다.


외부 SFTP 서버에서도이 오류가 발생했습니다. 서비스 제공 업체에 문의하여 포트에 대한 제한과 의도적으로 적용될 수있는 다른 구성 규칙을 배제했습니다. 업무 시간 동안 1 시간에 한 번 원격 호스트에서 가져 오는 예약 된 작업에서이 문제가 간헐적으로 나타납니다. 지금까지 그들은 연결이 수락되었지만 가상 호스트가 일시적으로 연결을 거부하고 있음에 동의하는 것 같습니다.
JE 카터 II

2

응용 프로그램에는 로컬 호스트에서만 연결하기위한 정책 제한이 있습니다. elasticsearch와 동일한 "문제". app-config를 확인하거나 터널을 만들 수 있습니다. 하다

ssh -N -L 7077:127.0.0.1:7077 userxy@spark

그런 다음 컴퓨터에서 :

telnet 127.0.0.1 7077

1

호스트에서 보내는 이메일 (파이썬 코드를 통한)이 실패한 이유를 디버깅하려고 할 때이 오류가 발생했습니다. 이 특정 호스트에 대해 메일 서버의 메일 큐가 가득 찼기 때문인 것으로 나타났습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.