telnet -“ การเชื่อมต่อถูกปิดโดยโฮสต์ต่างประเทศ”


21

ฉันต้องการตั้งค่า Apache Spark Cluster แต่ฉันไม่สามารถสื่อสารจากเครื่องผู้ปฏิบัติงานไปยังเครื่องต้นแบบที่พอร์ต 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 บน spark ว่างเปล่า นโยบายยอมรับสำหรับเครือข่าย INPUT, FORWARD และ OUTPUT
Mor Eru

คำตอบ:


15

กระบวนการที่กำลังรับฟังการเชื่อมต่อบนพอร์ต 7077 กำลังยอมรับการเชื่อมต่อแล้วปิดการเชื่อมต่อทันที ปัญหาอยู่ที่หนึ่งในรหัสหรือการกำหนดค่าของแอปพลิเคชันไม่ใช่ในระบบ


ดังนั้นจึงไม่มีปัญหากับการเชื่อมต่อและอาจเป็นไปได้ว่าแอปพลิเคชันทำงานอย่างไร ฉันยังใหม่กับ Apache Spark และฉันไม่รู้ว่านี่เป็นพฤติกรรมที่คาดหวังหรือไม่ !!!
หมอ Eru

2
ฉันสงสัยว่านี่เป็นวิธีที่แอปพลิเคชันควรทำงาน ตรวจสอบเอกสารประกอบ Apache Spark และไซต์สนับสนุนสำหรับข้อมูลการดีบักการกำหนดค่า
John

5

ฉันเพิ่งเรียนรู้พฤติกรรมแปลก ๆ ในเซิร์ฟเวอร์เสมือนบางตัวโดยเฉพาะอย่างยิ่งเซิร์ฟเวอร์ที่ใช้ NAT คุณเชื่อมต่อกับพอร์ตที่เปิดเผยโดยเซิร์ฟเวอร์เสมือนไปยังภายนอก เซิร์ฟเวอร์จะพยายามส่งต่อการเชื่อมต่อไปยังเป้าหมาย เป้าหมายปฏิเสธ ดังนั้น NAT จะปิดการเชื่อมต่อของคุณโดยไม่มีข้อความใด ๆ ดึงเส้นผมของคุณออกมาเพื่อที่จะหาว่าเกิดอะไรขึ้น นี่เป็นเหมือนคำตอบก่อนหน้านี้มาก แหล่งที่มาคือการมีปฏิสัมพันธ์ในโฮสต์เสมือนเอง

สาเหตุที่เป็นไปได้มากที่สุดคือมีคนใช้พอร์ตและแอปพลิเคชันที่ทำงานยอมรับการเชื่อมต่อได้ครั้งละหนึ่งรายการเท่านั้นและปฏิเสธการเชื่อมต่อเพิ่มเติมใด ๆ


นอกจากนี้เรายังพบข้อผิดพลาดนี้ด้วยเซิร์ฟเวอร์ SFTP ภายนอก เราได้สอบถามกับผู้ให้บริการแล้วและได้ตัดข้อ จำกัด ใด ๆ ในพอร์ตรวมถึงกฎการกำหนดค่าอื่น ๆ ที่อาจนำไปใช้โดยเจตนา เราเห็นว่าปัญหานี้เป็นระยะ ๆ ในงานที่กำหนดเวลาไว้ซึ่งดึงจากโฮสต์ระยะไกลหนึ่งครั้งต่อชั่วโมงในช่วงเวลาทำการ ดูเหมือนว่าพวกเขาจะเห็นด้วยกับคุณว่าการเชื่อมต่อได้รับการยอมรับ แต่โฮสต์เสมือนปฏิเสธการเชื่อมต่อชั่วคราว
JE Carter II

2

แอปพลิเคชันมีข้อ จำกัด นโยบายเพื่อเชื่อมต่อจาก localhost เท่านั้น "ปัญหา" เดียวกันกับ elasticsearch คุณสามารถตรวจสอบ app-config ของคุณหรือสร้างอุโมงค์ ทำ

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

จากนั้นในเครื่องของคุณ:

telnet 127.0.0.1 7077

1

เราพบข้อผิดพลาดนี้มากเมื่อพยายามแก้ไขข้อผิดพลาดว่าทำไมอีเมล (ผ่านรหัส Python) ที่ส่งจากโฮสต์ล้มเหลว มันกลายเป็นเพราะคิวจดหมายบนเซิร์ฟเวอร์อีเมลที่เต็มสำหรับโฮสต์นี้โดยเฉพาะ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.