Hadoop YARN Tutorial - เรียนรู้พื้นฐานของ YARN Architecture



บล็อกนี้มุ่งเน้นไปที่ Apache Hadoop YARN ซึ่งเปิดตัวใน Hadoop เวอร์ชัน 2.0 สำหรับการจัดการทรัพยากรและการจัดกำหนดการงาน อธิบายสถาปัตยกรรม YARN พร้อมส่วนประกอบและหน้าที่ที่ดำเนินการโดยแต่ละส่วน อธิบายการส่งใบสมัครและขั้นตอนการทำงานใน Apache Hadoop YARN

Hadoop YARN ถักหน่วยจัดเก็บข้อมูลของ Hadoop เช่น HDFS (Hadoop Distributed File System) ด้วยเครื่องมือประมวลผลต่างๆ สำหรับผู้ที่เพิ่งเริ่มหัวข้อนี้ YARN ย่อมาจาก“ และ ถึง nother แหล่งที่มา คนอวดดี”. ฉันขอแนะนำให้คุณอ่าน และ ก่อนที่คุณจะไปเรียนรู้ Apache Hadoop YARN ฉันจะอธิบายหัวข้อต่อไปนี้เพื่อให้แน่ใจว่าในตอนท้ายของบล็อกนี้คุณเข้าใจ Hadoop YARN ชัดเจน

ทำไมต้อง YARN?

ใน Hadoop เวอร์ชัน 1.0 ซึ่งเรียกอีกอย่างว่า MRV1 (MapReduce เวอร์ชัน 1) MapReduce ทำหน้าที่ทั้งการประมวลผลและการจัดการทรัพยากร ประกอบด้วย Job Tracker ซึ่งเป็น Master เดียว Job Tracker จัดสรรทรัพยากรดำเนินการจัดตารางเวลาและตรวจสอบงานการประมวลผล กำหนดแผนที่และลดงานในกระบวนการย่อยจำนวนมากที่เรียกว่า Task Trackers ตัวติดตามงานรายงานความคืบหน้าไปยัง Job Tracker เป็นระยะ





MapReduce เวอร์ชัน 1.0 - Hadoop YARN - Edureka

การออกแบบนี้ส่งผลให้เกิดปัญหาคอขวดที่ปรับขนาดได้เนื่องจาก Job Tracker ตัวเดียวIBM กล่าวถึงในบทความว่าตาม Yahoo! ขีด จำกัด ในทางปฏิบัติของการออกแบบดังกล่าวมาถึงด้วยคลัสเตอร์ 5,000 โหนดและ 40,000 งานที่ทำงานพร้อมกันนอกเหนือจากข้อ จำกัด นี้การใช้ทรัพยากรการคำนวณยังไม่มีประสิทธิภาพใน MRV1 นอกจากนี้เฟรมเวิร์ก Hadoop ยัง จำกัด เฉพาะกระบวนทัศน์การประมวลผล MapReduce เท่านั้น



pojo ใน java คืออะไร

เพื่อเอาชนะปัญหาทั้งหมดนี้ YARN ได้รับการแนะนำใน Hadoop เวอร์ชัน 2.0 ในปี 2555 โดย Yahoo และ Hortonworks แนวคิดพื้นฐานที่อยู่เบื้องหลัง YARN คือการลด MapReduce โดยรับหน้าที่ในการจัดการทรัพยากรและการจัดตารางงาน YARN เริ่มให้ Hadoop สามารถรันงานที่ไม่ใช่ MapReduce ภายในเฟรมเวิร์ก Hadoop

คุณยังสามารถดูวิดีโอด้านล่างได้ที่ ผู้เชี่ยวชาญกำลังพูดคุยเกี่ยวกับแนวคิดของ YARN และสถาปัตยกรรมโดยละเอียด

Hadoop Yarn Tutorial | Hadoop Yarn Architecture | Edureka

ด้วยการแนะนำของ YARN, ได้รับการปฏิวัติอย่างสมบูรณ์ มีความยืดหยุ่นมีประสิทธิภาพและปรับขนาดได้มากขึ้น เมื่อ Yahoo เริ่มใช้งานกับ YARN ในไตรมาสแรกของปี 2556 บริษัท ช่วยลดขนาดคลัสเตอร์ Hadoop จาก 40,000 โหนดเป็น 32,000 โหนด แต่จำนวนงานเพิ่มขึ้นสองเท่าเป็น 26 ล้านคนต่อเดือน



ข้อมูลเบื้องต้นเกี่ยวกับ Hadoop YARN

ตอนนี้ฉันได้ให้ความกระจ่างแก่คุณเกี่ยวกับความต้องการ YARN แล้วขอแนะนำให้คุณรู้จักกับส่วนประกอบหลักของ Hadoop v2.0 เส้นด้าย . YARN อนุญาตให้ใช้วิธีการประมวลผลข้อมูลที่แตกต่างกันเช่นการประมวลผลกราฟการประมวลผลแบบโต้ตอบการประมวลผลสตรีมและการประมวลผลแบบแบทช์เพื่อเรียกใช้และประมวลผลข้อมูลที่จัดเก็บใน HDFS ดังนั้น YARN จึงเปิด Hadoop ไปยังแอปพลิเคชันแบบกระจายประเภทอื่น ๆ นอกเหนือจาก MapReduce

YARN ช่วยให้ผู้ใช้สามารถดำเนินการตามความต้องการโดยใช้เครื่องมือต่างๆเช่น สำหรับการประมวลผลแบบเรียลไทม์ รัง สำหรับ SQL HBase สำหรับ NoSQL และอื่น ๆ

นอกเหนือจากการจัดการทรัพยากร YARN ยังดำเนินการจัดตารางงาน YARN ดำเนินกิจกรรมการประมวลผลทั้งหมดของคุณโดยการจัดสรรทรัพยากรและกำหนดเวลางาน Apache Hadoop YARN Architecture ประกอบด้วยส่วนประกอบหลักดังต่อไปนี้:

  1. ผู้จัดการทรัพยากร : รันบนดีมอนหลักและจัดการการจัดสรรรีซอร์สในคลัสเตอร์
  2. ตัวจัดการโหนด: พวกมันทำงานบนทาส daemons และรับผิดชอบในการดำเนินงานบนทุกโหนดข้อมูลเดียว
  3. โปรแกรมประยุกต์หลัก: จัดการวงจรชีวิตงานของผู้ใช้และความต้องการทรัพยากรของแต่ละแอปพลิเคชัน ทำงานร่วมกับ Node Manager และตรวจสอบการดำเนินการของงาน
  4. คอนเทนเนอร์: แพ็คเกจทรัพยากรรวมทั้ง RAM, CPU, เครือข่าย, HDD และอื่น ๆ บนโหนดเดียว

ส่วนประกอบของ YARN

คุณสามารถพิจารณา YARN เป็นสมองของ Hadoop Ecosystem ของคุณ ภาพด้านล่างแสดงถึงสถาปัตยกรรม YARN

ผลรวมของตัวเลขใน java

ส่วนประกอบแรก ของ YARN Architecture คือ

ผู้จัดการทรัพยากร

  • เป็นผู้มีอำนาจสูงสุดในการจัดสรรทรัพยากร .
  • ในการรับคำขอการประมวลผลจะส่งผ่านบางส่วนของคำขอไปยังผู้จัดการโหนดที่เกี่ยวข้องตามที่การประมวลผลจริงเกิดขึ้น
  • เป็นอนุญาโตตุลาการของทรัพยากรคลัสเตอร์และตัดสินใจจัดสรรทรัพยากรที่มีอยู่สำหรับแอปพลิเคชันที่แข่งขันกัน
  • เพิ่มประสิทธิภาพการใช้งานคลัสเตอร์เช่นการเก็บทรัพยากรทั้งหมดไว้ใช้งานตลอดเวลากับข้อ จำกัด ต่างๆเช่นการรับประกันความสามารถความเป็นธรรมและ SLA
  • มีองค์ประกอบหลักสองส่วน:ก) เครื่องมือจัดกำหนดการ)ตัวจัดการแอปพลิเคชัน

ก) เครื่องมือจัดกำหนดการ

  • ตัวกำหนดตารางเวลามีหน้าที่ในการจัดสรรทรัพยากรให้กับแอปพลิเคชันที่กำลังรันอยู่ภายใต้ข้อ จำกัด ของความจุคิวและอื่น ๆ
  • เรียกว่าตัวกำหนดตารางเวลาที่แท้จริงใน ResourceManager ซึ่งหมายความว่าจะไม่ทำการตรวจสอบหรือติดตามสถานะใด ๆ สำหรับแอปพลิเคชัน
  • หากแอปพลิเคชันล้มเหลวหรือฮาร์ดแวร์ล้มเหลวตัวกำหนดเวลาไม่รับประกันว่าจะเริ่มงานที่ล้มเหลวใหม่
  • ดำเนินการจัดตารางเวลาตามความต้องการทรัพยากรของแอปพลิเคชัน
  • มีปลั๊กอินนโยบายแบบเสียบได้ซึ่งมีหน้าที่แบ่งพาร์ติชันทรัพยากรคลัสเตอร์ระหว่างแอปพลิเคชันต่างๆ มีปลั๊กอินสองตัวดังกล่าว: เครื่องมือจัดกำหนดการความจุ และ ตัวกำหนดตารางเวลาที่ยุติธรรม ซึ่งปัจจุบันใช้เป็นตัวกำหนดเวลาใน ResourceManager

b) ตัวจัดการแอปพลิเคชัน

  • มีหน้าที่รับผิดชอบในการรับส่งงาน
  • เจรจาคอนเทนเนอร์แรกจากตัวจัดการทรัพยากรสำหรับการเรียกใช้งาน Application Master เฉพาะแอปพลิเคชัน
  • จัดการการเรียกใช้ Application Masters ในคลัสเตอร์และให้บริการสำหรับการรีสตาร์ทคอนเทนเนอร์ Application Master เมื่อเกิดความล้มเหลว

มาที่ ส่วนประกอบที่สอง ซึ่งเป็น:

ตัวจัดการโหนด

  • ดูแลแต่ละโหนดในคลัสเตอร์ Hadoop และจัดการงานของผู้ใช้และเวิร์กโฟลว์บนโหนดที่กำหนด
  • ลงทะเบียนกับ Resource Manager และส่ง heartbeats พร้อมสถานะสุขภาพของโหนด
  • เป้าหมายหลักคือการจัดการคอนเทนเนอร์แอปพลิเคชันที่ผู้จัดการทรัพยากรมอบหมายให้
  • ช่วยให้ตัวจัดการทรัพยากรเป็นปัจจุบันอยู่เสมอ
  • Application Master ร้องขอคอนเทนเนอร์ที่กำหนดจาก Node Manager โดยส่ง Container Launch Context (CLC) ซึ่งรวมทุกอย่างที่แอปพลิเคชันต้องการเพื่อให้ทำงานได้ Node Manager สร้างกระบวนการคอนเทนเนอร์ที่ร้องขอและเริ่มต้น
  • ตรวจสอบการใช้ทรัพยากร (หน่วยความจำ CPU) ของแต่ละคอนเทนเนอร์
  • ดำเนินการจัดการบันทึก
  • นอกจากนี้ยังฆ่าคอนเทนเนอร์ตามที่ผู้จัดการทรัพยากรกำหนด

ส่วนประกอบที่สาม ของ Apache Hadoop YARN คือ

แอปพลิเคชันปริญญาโท
  • ใบสมัครเป็นงานเดียวที่ส่งไปยังกรอบงาน แต่ละแอปพลิเคชันดังกล่าวมี Application Master เฉพาะที่เกี่ยวข้องซึ่งเป็นเอนทิตีเฉพาะของกรอบงาน
  • เป็นกระบวนการที่ประสานการดำเนินการของแอปพลิเคชันในคลัสเตอร์และจัดการข้อบกพร่องด้วย
  • หน้าที่ของมันคือการเจรจาทรัพยากรจาก Resource Manager และทำงานร่วมกับ Node Manager เพื่อดำเนินการและตรวจสอบงานคอมโพเนนต์
  • มีหน้าที่ในการเจรจาต่อรองคอนเทนเนอร์ทรัพยากรที่เหมาะสมจาก ResourceManager ติดตามสถานะและติดตามความคืบหน้า
  • เมื่อเริ่มต้นแล้วระบบจะส่งการเต้นของหัวใจไปยังตัวจัดการทรัพยากรเป็นระยะเพื่อยืนยันความสมบูรณ์ของมันและเพื่ออัปเดตบันทึกความต้องการทรัพยากร

องค์ประกอบที่สี่ คือ:

คอนเทนเนอร์
  • เป็นชุดของทรัพยากรทางกายภาพเช่น RAM, CPU cores และดิสก์บนโหนดเดียว
  • คอนเทนเนอร์ YARN ได้รับการจัดการโดยบริบทการเรียกใช้คอนเทนเนอร์ซึ่งเป็นวงจรชีวิตของคอนเทนเนอร์ (CLC) เร็กคอร์ดนี้ประกอบด้วยแผนผังของตัวแปรสภาพแวดล้อมการอ้างอิงที่จัดเก็บในหน่วยเก็บข้อมูลที่เข้าถึงได้จากระยะไกลโทเค็นความปลอดภัยเพย์โหลดสำหรับเซอร์วิส Node Manager และคำสั่งที่จำเป็นในการสร้างกระบวนการ
  • ให้สิทธิ์แก่แอปพลิเคชันในการใช้ทรัพยากรจำนวนหนึ่ง (หน่วยความจำ CPU ฯลฯ ) บนโฮสต์เฉพาะ

การส่งใบสมัครใน YARN

ดูภาพและดูขั้นตอนที่เกี่ยวข้องในการส่งใบสมัคร Hadoop YARN:

1) ส่งงาน

2)รับรหัสแอปพลิเคชัน

3) บริบทการส่งใบสมัคร

4 ก) เริ่มคอนเทนเนอร์เปิด

b) เปิด Application Master

5) จัดสรรทรัพยากร

6 ก) ตู้คอนเทนเนอร์

b) เปิดตัว

7) ดำเนินการ

ขั้นตอนการทำงานของแอปพลิเคชันใน Hadoop YARN

อ้างถึงรูปภาพที่กำหนดและดูขั้นตอนต่อไปนี้ที่เกี่ยวข้องกับเวิร์กโฟลว์แอปพลิเคชันของ Apache Hadoop YARN:

อาร์เรย์ของวัตถุ java
  1. ลูกค้าส่งใบสมัคร
  2. ตัวจัดการทรัพยากรจัดสรรคอนเทนเนอร์เพื่อเริ่ม Application Manager
  3. Application Manager ลงทะเบียนกับ Resource Manager
  4. Application Manager ขอคอนเทนเนอร์จาก Resource Manager
  5. Application Manager แจ้งให้ Node Manager เปิดใช้งานคอนเทนเนอร์
  6. รหัสแอปพลิเคชันถูกเรียกใช้ในคอนเทนเนอร์
  7. ติดต่อไคลเอ็นต์ Resource Manager / Application Manager เพื่อตรวจสอบสถานะของแอปพลิเคชัน
  8. Application Manager ยกเลิกการลงทะเบียนด้วย Resource Manager

ตอนนี้คุณรู้จัก Apache Hadoop YARN แล้วลองดูไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก หลักสูตรการฝึกอบรม Edureka Big Data Hadoop Certification ช่วยให้ผู้เรียนมีความเชี่ยวชาญใน HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume และ Sqoop โดยใช้กรณีการใช้งานแบบเรียลไทม์ในโดเมนการค้าปลีกโซเชียลมีเดียการบินการท่องเที่ยวการเงิน

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นแล้วเราจะติดต่อกลับไป