ฉันอ่านCluster Mode Overviewและฉันยังคงไม่เข้าใจกระบวนการต่าง ๆ ในคลัสเตอร์ Spark Standaloneและการขนานกัน
ผู้ปฏิบัติงานเป็นกระบวนการ JVM หรือไม่ ฉันวิ่งbin\start-slave.sh
และพบว่ามันกลับกลายเป็นคนงานซึ่งจริงๆแล้วเป็น JVM
ตามลิงค์ข้างต้นผู้ปฏิบัติการเป็นกระบวนการที่เปิดตัวสำหรับแอปพลิเคชันบนโหนดผู้ปฏิบัติงานที่ทำงาน ผู้ปฏิบัติการก็เป็น JVM เช่นกัน
นี่คือคำถามของฉัน:
ผู้บริหารมีต่อแอปพลิเคชัน แล้วบทบาทของคนงานคืออะไร? มันประสานกับผู้ดำเนินการและสื่อสารผลลัพธ์กลับไปที่ไดรเวอร์หรือไม่ หรือคนขับรถโดยตรงพูดคุยกับผู้บริหารหรือไม่ ถ้าเป็นเช่นนั้นอะไรคือวัตถุประสงค์ของคนงาน?
วิธีควบคุมจำนวนตัวเรียกทำงานสำหรับแอปพลิเคชัน
สามารถสร้างงานให้ทำงานแบบขนานภายในตัวจัดการได้หรือไม่ ถ้าเป็นเช่นนั้นวิธีการกำหนดค่าจำนวนกระทู้สำหรับผู้ปฏิบัติการหรือไม่
ความสัมพันธ์ระหว่างผู้ปฏิบัติงานผู้บริหารและผู้บริหารคอร์คืออะไร (- ยอดรวมผู้บริหารคอร์)?
การมีคนงานเพิ่มขึ้นต่อโหนดหมายความว่าอย่างไร
Updated
ลองยกตัวอย่างเพื่อทำความเข้าใจให้ดีขึ้น
ตัวอย่างที่ 1: คลัสเตอร์แบบสแตนด์อะโลนที่มี 5 โหนดงาน (แต่ละโหนดมี 8 แกน) เมื่อฉันเริ่มโปรแกรมประยุกต์ด้วยการตั้งค่าเริ่มต้น
ตัวอย่างที่ 2 การตั้งค่า คลัสเตอร์เดียวกันเป็นตัวอย่างที่ 1 แต่ฉันเรียกใช้แอปพลิเคชันด้วยการตั้งค่าต่อไปนี้ --executor-cores 10 --total-executor-cores 10
ตัวอย่างที่ 3 การตั้งค่า คลัสเตอร์เดียวกันเป็นตัวอย่างที่ 1 แต่ฉันเรียกใช้แอปพลิเคชันด้วยการตั้งค่าต่อไปนี้ --executor-cores 10 --total-executor-cores 50
ตัวอย่างที่ 4 การกำหนดค่า คลัสเตอร์เดียวกันเป็นตัวอย่างที่ 1 แต่ฉันเรียกใช้แอปพลิเคชันด้วยการตั้งค่าต่อไปนี้ --executor-cores 50 --total-executor-cores 50
ตัวอย่างที่ 5 การกำหนดค่า คลัสเตอร์เดียวกันเป็นตัวอย่าง 1 แต่ฉันเรียกใช้แอปพลิเคชันด้วยการตั้งค่าต่อไปนี้ --executor-cores 50 --total-executor-cores 10
ในตัวอย่างเหล่านี้แต่ละตัวมีกี่ตัวดำเนินการ กี่เธรดต่อตัวดำเนินการ มีกี่คอร์? จำนวนตัวจัดการตัดสินใจในแต่ละแอปพลิเคชันอย่างไร มันเป็นเช่นเดียวกับจำนวนของคนงานเสมอหรือไม่?