![6.2. YARN | Evolution From MapReduce 1.0](https://i.ytimg.com/vi/uGDd3Qik0DE/hqdefault.jpg)
เนื้อหา
- YARN Framework คืออะไร
- ข้อ จำกัด ของ Hadoop 1.0 Framework
- ไม่มีข้อบกพร่องไม่มีความเครียด - คู่มือแบบเป็นขั้นตอนเพื่อสร้างซอฟต์แวร์ที่เปลี่ยนแปลงชีวิตโดยไม่ทำลายชีวิตของคุณ
- YARN Framework และข้อดี
- ข้อสรุป
ที่มา: Jim Hughes / Dreamstime.com
Takeaway:
YARN เป็นการปรับปรุงที่สำคัญเหนือกรอบ Hadoop 1.0 ที่นี่เราตรวจสอบข้อดีบางอย่างที่มีอยู่เหนือรุ่นก่อน
ตั้งแต่เวลาที่มีการนำเสนอแนวคิดของข้อมูลขนาดใหญ่มันได้ผ่านวิวัฒนาการหลายขั้นตอน Hadoop เปิดตัวในปี 2548 ด้วยคุณสมบัติเริ่มต้นบางอย่างเช่นโปรแกรมประมวลผล MapReduce ซึ่งอนุญาตให้ปริมาณงานประมวลผลข้อมูลขนาดใหญ่กระจายอยู่ในกลุ่ม Hadoop มีประสบการณ์การเปลี่ยนแปลงมากมายและได้พัฒนากรอบและวิธีการขั้นสูง
YARN เป็นองค์ประกอบหลักของ Hadoop 2.0 โดยทั่วไปจะจัดการทรัพยากรในสภาพแวดล้อมแบบคลัสเตอร์ โบรกเกอร์ YARN โต้ตอบกับทรัพยากรการคำนวณ (ในนามของแอปพลิเคชัน) และกำหนดทรัพยากรให้กับแต่ละแอปพลิเคชันตามเกณฑ์การกรองที่แตกต่างกัน
ในบทความนี้เราจะพิจารณาข้อดีอันดับต้น ๆ ของ YARN over Hadoop 1.0
YARN Framework คืออะไร
Yet nother REsource ยังไม่มีข้อความegotiator เป็นองค์ประกอบหลักของ Hadoop 2.0 ซึ่งจัดการทรัพยากรในสภาพแวดล้อมแบบคลัสเตอร์ กรอบงาน Hadoop YARN เป็นรุ่นขั้นสูงของ Hadoop 1.0 ที่ให้ประสิทธิภาพที่ดีขึ้นซึ่งเป็นประโยชน์ต่อระบบนิเวศ Hadoop และเทคโนโลยีที่เกี่ยวข้องทั้งหมด ตอนนี้เราคุ้นเคยกับ YARN เพิ่มขึ้นเล็กน้อยลองดู Hadoop 1.0 และ YARN ให้ละเอียดยิ่งขึ้น
ข้อ จำกัด ของ Hadoop 1.0 Framework
เพื่อที่จะเข้าใจถึงข้อดีของกรอบ YARN สิ่งสำคัญคือต้องเข้าใจว่า Hadoop 1.0 ทำงานอย่างไรและข้อ จำกัด ของกรอบการทำงานนี้คืออะไร
นี่คือบทบาทของ JobTracker ที่เข้ามาซึ่งจัดการทั้งทรัพยากรคลัสเตอร์และกำหนดการดำเนินงานของ MapReduce สรุปย่อ JobTracker กำหนดเวลาและสำรองช่องงานและกำหนดค่าและตรวจสอบแต่ละงานที่ทำงานอยู่ หากงานล้มเหลวจะทำการจัดสรรช่องใหม่เพื่อให้งานเริ่มต้นอีกครั้ง เมื่องานเสร็จสิ้นแล้ว JobTracker จะปล่อยสล็อตสำหรับงานอื่นและล้างทรัพยากรชั่วคราว
ข้อเสียที่สำคัญของวิธีการข้างต้น:
- ว่าง - JobTracker เป็นเพียงจุดเดียวใน Hadoop 1.0 ซึ่งหมายความว่าหาก JobTracker ล้มเหลวงานทั้งหมดจะเริ่มต้นใหม่ตามค่าเริ่มต้น
- ขีดความสามารถในการ จำกัด - เนื่องจาก JobTracker ทำงานหลายอย่างและทำงานบนเครื่องเดียวเครื่องอื่น ๆ ที่ใช้งานได้จะไม่ถูกใช้งาน ดังนั้นจึงส่งผลให้ขยายขีด จำกัด
- การใช้ทรัพยากร - ในวิธีการข้างต้นสล็อตแมปและลดสล็อตจะถูกกำหนดไว้ล่วงหน้า อาจเกิดขึ้นที่หนึ่งในสล็อตเต็ม แต่สล็อตของเครื่องอื่นว่าง เนื่องจากมีการจองสล็อตว่างไว้พวกเขาจะไม่ได้ใช้งานแทนที่จะเป็นช่องเต็มรูปแบบ สิ่งนี้อาจทำให้เกิดปัญหาการใช้ทรัพยากร
- การรันแอพพลิเคชั่นที่ไม่ใช่ MapReduce - JobTracker เป็นแอปพลิเคชั่นที่สร้างขึ้นสำหรับกรอบการทำงานของ MapReduce ปัญหาเกิดขึ้นเมื่อแอปพลิเคชันที่ไม่ใช่ MapReduce พยายามเรียกใช้ในกรอบงานนี้ แอปพลิเคชันต้องสอดคล้องกับกรอบการเขียนโปรแกรม MapReduce เพื่อให้ทำงานได้สำเร็จ ปัญหาทั่วไปบางประการที่ต้องเผชิญเนื่องจากปัญหานี้รวมถึง:
- แบบสอบถามเฉพาะกิจ
- การวิเคราะห์ตามเวลาจริง
- ผ่านวิธีการ
- ความล้มเหลวในการเรียงซ้อน - หนึ่งในปัญหาที่สำคัญในกรอบนี้เกิดขึ้นเมื่อจำนวนโหนดมากกว่า 4000 ในสถานการณ์เช่นนี้ความล้มเหลวแบบเรียงซ้อนเกิดขึ้นทำให้เกิดการเสื่อมสภาพของกลุ่มที่สมบูรณ์
นี่เป็นข้อ จำกัด ที่สำคัญบางประการที่ต้องเผชิญขณะทำงานกับกรอบนี้ มีข้อ จำกัด เล็กน้อยอื่น ๆ เช่นกันซึ่งไม่ได้กล่าวถึง กรอบ YARN ถูกนำมาใช้เพื่อเอาชนะข้อ จำกัด เหล่านี้
ไม่มีข้อบกพร่องไม่มีความเครียด - คู่มือแบบเป็นขั้นตอนเพื่อสร้างซอฟต์แวร์ที่เปลี่ยนแปลงชีวิตโดยไม่ทำลายชีวิตของคุณ
คุณไม่สามารถพัฒนาทักษะการเขียนโปรแกรมของคุณเมื่อไม่มีใครใส่ใจคุณภาพของซอฟต์แวร์
YARN Framework และข้อดี
กรอบ YARN ที่นำมาใช้ใน Hadoop 2.0 นั้นมีไว้เพื่อแบ่งปันความรับผิดชอบของ MapReduce และดูแลภารกิจการจัดการคลัสเตอร์ สิ่งนี้ช่วยให้ MapReduce ประมวลผลข้อมูลเท่านั้นและทำให้กระบวนการทำงานราบรื่นขึ้น
YARN นำเสนอแนวคิดของการจัดการทรัพยากรส่วนกลาง สิ่งนี้ทำให้แอปพลิเคชั่นหลายตัวทำงานบน Hadoop ซึ่งเป็นการแบ่งปันการจัดการทรัพยากรทั่วไป
ส่วนประกอบที่สำคัญบางส่วนของกรอบงาน YARN ได้แก่ :
- ResourceManager - องค์ประกอบ ResourceManager เป็นผู้เจรจาต่อรองในคลัสเตอร์สำหรับทรัพยากรทั้งหมดที่มีอยู่ในคลัสเตอร์นั้น นอกจากนี้องค์ประกอบนี้แบ่งออกเป็นโปรแกรมจัดการที่รับผิดชอบการจัดการงานของผู้ใช้ จาก Hadoop 2.0 งาน MapReduce ใด ๆ จะถูกพิจารณาเป็นแอปพลิเคชัน
- ApplicationMaster - องค์ประกอบนี้เป็นสถานที่ที่มีงานหรือแอปพลิเคชันอยู่ นอกจากนี้ยังจัดการงาน MapReduce ทั้งหมดและได้ข้อสรุปหลังจากการประมวลผลงานเสร็จสมบูรณ์
- NodeManager - คอมโพเนนต์ตัวจัดการโหนดทำหน้าที่เป็นเซิร์ฟเวอร์สำหรับประวัติงาน รับผิดชอบในการรักษาความปลอดภัยข้อมูลของงานที่เสร็จสมบูรณ์ นอกจากนี้ยังติดตามงานของผู้ใช้พร้อมกับเวิร์กโฟลว์สำหรับโหนดเฉพาะ
โปรดทราบว่ากรอบ YARN มีองค์ประกอบที่แตกต่างกันเพื่อจัดการงานต่าง ๆ ลองมาดูกันว่าข้อ จำกัด ของ Hadoop 1.0 นั้นเป็นอย่างไร
- การใช้ทรัพยากรให้ดีขึ้น - กรอบงาน YARN ไม่มีสล็อตคงที่สำหรับงาน มันมีตัวจัดการทรัพยากรกลางซึ่งอนุญาตให้คุณแชร์หลาย ๆ แอปพลิเคชันผ่านทางทรัพยากรทั่วไป
- การรันแอปพลิเคชันที่ไม่ใช่ MapReduce - ใน YARN ความสามารถในการกำหนดเวลาและการจัดการทรัพยากรจะถูกแยกออกจากองค์ประกอบการประมวลผลข้อมูล สิ่งนี้ทำให้ Hadoop สามารถรันแอพพลิเคชั่นหลากหลายประเภทซึ่งไม่สอดคล้องกับการเขียนโปรแกรมของเฟรมเวิร์ก Hadoop ขณะนี้กลุ่ม Hadoop สามารถเรียกใช้คิวรีโต้ตอบแบบอิสระและทำการวิเคราะห์แบบเรียลไทม์ได้ดีขึ้น
- ความเข้ากันได้ย้อนหลัง - YARN มาเป็นเฟรมเวิร์กที่เข้ากันได้แบบย้อนหลังซึ่งหมายถึงงานใด ๆ ที่มีอยู่ของ MapReduce สามารถดำเนินการได้ใน Hadoop 2.0
- JobTracker ไม่มีอยู่อีกต่อไป - บทบาทที่สำคัญสองประการของ JobTracker คือการจัดการทรัพยากรและการจัดตารางเวลางาน ด้วยการแนะนำของกรอบ YARN สิ่งเหล่านี้จะถูกแยกออกเป็นสองส่วนที่แยกจากกันคือ:
- NodeManager
- ResourceManager
ข้อสรุป
การเปิดตัวกรอบ YARN ทำให้การสร้างแอพพลิเคชั่นสำหรับผู้พัฒนา Hadoop ง่ายขึ้น ตอนนี้แอปพลิเคชันไม่จำเป็นต้องใช้กับเครื่องมือของบุคคลที่สามอีกต่อไป YARN เป็นการเปลี่ยนแปลงครั้งใหญ่ซึ่งจะทำให้ผู้ใช้สามารถพิจารณา Hadoop 2.0 เพื่อสร้างแอปพลิเคชั่นและจัดการข้อมูลได้อย่างมีประสิทธิภาพมากขึ้น เมื่อเวลาผ่านไปจะมีการพัฒนาเพิ่มเติมเพื่อเพิ่มความสะดวกในการใช้งานของ Hadoop สำหรับตอนนี้กรอบ YARN จะมีบทบาทสำคัญในการจัดการกับปัญหาที่มีอยู่และสร้างสภาพแวดล้อมที่ไม่ยุ่งยากซึ่งมีความหลากหลายมากกว่าจากรุ่นก่อนหน้าของรุ่น MapReduce