1 Tasktracker สามารถรัน JVM หลายตัวได้หรือไม่

1 Tasktracker สามารถเรียกใช้ JVM หลายเครื่องได้หรือไม่

นี่คือสถานการณ์:

สมมติว่ามี 2 ไฟล์ (A & B) และ 2 โหนดข้อมูล (D1 & D2)

เมื่อคุณโหลด A สมมติว่ามันถูกแบ่งออกเป็น A1 & A2 บน D1 & D2 และเมื่อคุณโหลด B สมมติว่ามันถูกแบ่งออกเป็น B1 & B2 บน D1 & D2

ด้วยเหตุผลบางประการ ให้เราถือว่า D1 กำลังยุ่งอยู่กับงานอื่นๆ และ D2 ว่างและมีงานสองสามงานที่ถูกส่งไป งานหนึ่งใช้ไฟล์ A และอีกงานหนึ่งใช้ไฟล์ B

ตอนนี้ D2 พร้อมใช้งานแล้วและมีบล็อก A2 และ B2 JobTracker จะส่งโค้ดไปที่ TaskTracker บน D2 และรันงานสำหรับ A2 และ B2 ในแต่ละครั้ง หรือจะรัน A2 ก่อนและหลังจากเสร็จสิ้นแล้วจะรัน B2

หากเป็นเช่นนั้น เป็นไปได้อีกครั้งหรือไม่ที่จะรันทั้งสองงานพร้อมกันซึ่งหมายถึง 1 TaskTracker และ 2 jvms หรือจะสร้าง/วางไข่ 2 TaskTrackers บน D2


person user2345694    schedule 27.02.2014    source แหล่งที่มา


คำตอบ (2)


ตัวติดตามงาน (TT) สามารถเปิดหลายแผนที่หรือลดงานพร้อมกันบนเครื่องเดียว ตามค่าเริ่มต้น TT จะเปิดตัวแผนที่ 2 อัน (mapreduce.tasktracker.map.tasks.maximum) และงานลด 2 อัน (mapreduce.tasktracker.reduce.tasks.maximum) คุณสมบัติจะต้องได้รับการกำหนดค่าใน mapred-default.xml

person Praveen Sripati    schedule 28.02.2014

ตามค่าเริ่มต้น Task Tracker จะวางไข่หนึ่ง JVM สำหรับแต่ละงาน คุณสามารถใช้ jvms ซ้ำได้โดยการตั้งค่าพารามิเตอร์คอนฟิกูเรชันนี้: mapred.job.reuse.jvm.num.tasks

person Jasper    schedule 27.02.2014