ภาพรวมของ Hadoop 2.0 Cluster Architecture Federation



Apache Hadoop 2.x ประกอบด้วยการปรับปรุงที่สำคัญเหนือ Hadoop 1.x. บล็อกนี้พูดถึง Hadoop 2.0 Cluster Architecture Federation และส่วนประกอบต่างๆ

Hadoop 2.0 Cluster Architecture Federation

บทนำ:

ในบล็อกนี้ฉันจะเจาะลึกเข้าไปใน Hadoop 2.0 Cluster Architecture Federation Apache Hadoop มีการพัฒนาไปมากตั้งแต่เปิดตัว Apache Hadoop 1.x. ดังที่คุณทราบจากบล็อกก่อนหน้าของฉันว่า เป็นไปตามโทโพโลยี Master / Slave โดยที่ NameNode ทำหน้าที่เป็นมาสเตอร์ดีมอนและรับผิดชอบในการจัดการโหนดทาสอื่น ๆ ที่เรียกว่า DataNodes ในระบบนิเวศนี้ Master Daemon หรือ NameNode เดียวนี้กลายเป็นคอขวดและในทางตรงกันข้าม บริษัท ต่างๆจำเป็นต้องมี NameNode ซึ่งพร้อมใช้งานสูง เหตุผลนี้จึงกลายเป็นรากฐานของสถาปัตยกรรมสหพันธ์ HDFS และ สถาปัตยกรรม HA (High Availability) .

วิธีการเป็นวิศวกรปัญญาประดิษฐ์

หัวข้อที่ฉันได้กล่าวถึงในบล็อกนี้มีดังนี้:





  • สถาปัตยกรรม HDFS ปัจจุบัน
  • ข้อ จำกัด ของสถาปัตยกรรม HDFS ในปัจจุบัน
  • สถาปัตยกรรมสหพันธ์ HDFS

ภาพรวมของสถาปัตยกรรม HDFS ปัจจุบัน:

สถาปัตยกรรม Namespace HDFS เดียว - ภาพรวมของ Hadoop 2.0 Cluster Architecture Federation - Edureka

ดังที่คุณเห็นในรูปด้านบน HDFS ปัจจุบันมีสองชั้น:



  • เนมสเปซ HDFS (NS): เลเยอร์นี้มีหน้าที่จัดการไดเร็กทอรีไฟล์และบล็อก มีการดำเนินการระบบไฟล์ทั้งหมดที่เกี่ยวข้องกับเนมสเปซเช่นการสร้างลบหรือแก้ไขไฟล์หรือไดเร็กทอรีไฟล์
  • ชั้นเก็บข้อมูล: ประกอบด้วยสององค์ประกอบพื้นฐาน
    1. การจัดการบล็อก : ดำเนินการดังต่อไปนี้:
      • ตรวจสอบการเต้นของหัวใจของ DataNodes เป็นระยะและจัดการการเป็นสมาชิก DataNode ไปยังคลัสเตอร์
      • จัดการรายงานการบล็อกและดูแลตำแหน่งบล็อก
      • รองรับการดำเนินการบล็อกเช่นการสร้างการแก้ไขการลบและการจัดสรรตำแหน่งบล็อก
      • รักษาปัจจัยการจำลองให้สอดคล้องกันทั่วทั้งคลัสเตอร์

2. การจัดเก็บทางกายภาพ : มีการจัดการโดย DataNodes ซึ่งรับผิดชอบในการจัดเก็บข้อมูลและด้วยเหตุนี้จึงให้การเข้าถึงแบบอ่าน / เขียนข้อมูลที่จัดเก็บใน HDFS

ดังนั้นสถาปัตยกรรม HDFS ปัจจุบันช่วยให้คุณมีเนมสเปซเดียวสำหรับคลัสเตอร์ ในสถาปัตยกรรมนี้ NameNode เดียวมีหน้าที่จัดการเนมสเปซ สถาปัตยกรรมนี้สะดวกและง่ายต่อการใช้งาน นอกจากนี้ยังมีความสามารถเพียงพอที่จะตอบสนองความต้องการของคลัสเตอร์การผลิตขนาดเล็ก

ถั่วใน java คืออะไร

ข้อ จำกัด ของ HDFS ปัจจุบัน:

ตามที่กล่าวไว้ก่อนหน้านี้ HDFS ในปัจจุบันเพียงพอกับความต้องการและกรณีการใช้งานของคลัสเตอร์การผลิตขนาดเล็ก แต่องค์กรใหญ่ ๆ เช่น Yahoo, Facebook พบข้อ จำกัด บางประการเนื่องจากคลัสเตอร์ HDFS เติบโตขึ้นอย่างทวีคูณ ให้เราดูข้อ จำกัด บางประการอย่างรวดเร็ว:



  1. เนมสเปซคือ ไม่สามารถปรับขนาดได้ เช่น DataNodes ดังนั้นเราสามารถมี DataNodes จำนวนเท่านั้นในคลัสเตอร์ที่ NameNode เดียวสามารถจัดการได้
  2. สองเลเยอร์ ได้แก่ เลเยอร์เนมสเปซและเลเยอร์การจัดเก็บคือ คู่กันอย่างแน่นหนา ซึ่งทำให้การใช้งาน NameNode ทางเลือกเป็นเรื่องยากมาก
  3. ประสิทธิภาพของ Hadoop System ทั้งหมดขึ้นอยู่กับ ปริมาณงาน ของ NameNode ดังนั้นประสิทธิภาพทั้งหมดของการดำเนินการ HDFS ทั้งหมดจึงขึ้นอยู่กับจำนวนงานที่ NameNode สามารถจัดการได้ในช่วงเวลาหนึ่ง ๆ
  4. NameNode เก็บเนมสเปซทั้งหมดไว้ใน RAM เพื่อการเข้าถึงที่รวดเร็ว สิ่งนี้นำไปสู่ข้อ จำกัด ในแง่ของ ขนาดหน่วยความจำ เช่นจำนวนของเนมสเปซอ็อบเจ็กต์ (ไฟล์และบล็อก) ที่เซิร์ฟเวอร์เนมสเปซเดียวสามารถรับมือได้
  5. หลายองค์กร (ผู้ขาย) ที่มีการปรับใช้ HDFS อนุญาตให้หลายองค์กร (ผู้เช่า) ใช้เนมสเปซคลัสเตอร์ของตนได้ ดังนั้นจึงไม่มีการแยกเนมสเปซดังนั้นจึงมี ไม่มีการแยก ระหว่างองค์กรผู้เช่าที่ใช้คลัสเตอร์

สถาปัตยกรรมสหพันธ์ HDFS:

  • ใน HDFS Federation Architecture เรามีบริการชื่อที่ปรับขนาดได้ในแนวนอน ดังนั้นเราจึงมี NameNodes หลายตัวซึ่งรวมกันเช่นเป็นอิสระจากกัน
  • DataNodes อยู่ที่ด้านล่างนั่นคือชั้นจัดเก็บข้อมูลที่อยู่เบื้องหลัง
  • DataNode แต่ละรายการจะลงทะเบียนด้วย NameNodes ทั้งหมดในคลัสเตอร์
  • DataNodes ส่งสัญญาณ heartbeats เป็นระยะบล็อกรายงานและจัดการคำสั่งจาก NameNodes

การแสดงภาพของสถาปัตยกรรมสหพันธ์ HDFS แสดงไว้ด้านล่าง:

ก่อนที่จะก้าวไปข้างหน้าให้ฉันพูดสั้น ๆ เกี่ยวกับภาพสถาปัตยกรรมด้านบน:

  • มีหลายเนมสเปซ (NS1, NS2, …, NSn) และแต่ละเนมสเปซถูกจัดการโดย NameNode ที่เกี่ยวข้อง
  • แต่ละเนมสเปซมีบล็อกพูลของตัวเอง (NS1 มีพูล 1, NSk มีพูล k เป็นต้น)
  • ดังที่แสดงในภาพบล็อกจากพูล 1 (สีฟ้า) จะถูกเก็บไว้ใน DataNode 1, DataNode 2 และอื่น ๆ ในทำนองเดียวกันบล็อกทั้งหมดจากแต่ละกลุ่มบล็อกจะอยู่ใน DataNodes ทั้งหมด

ตอนนี้เรามาทำความเข้าใจส่วนประกอบของ HDFS Federation Architecture โดยละเอียด:

พิมพ์สองครั้งเพื่อ int java

บล็อกพูล:

บล็อกพูลไม่ใช่อะไรนอกจากชุดของบล็อกที่เป็นของเนมสเปซเฉพาะ ดังนั้นเราจึงมีชุดบล็อกพูลที่แต่ละบล็อกพูลได้รับการจัดการแยกจากกัน ความเป็นอิสระที่แต่ละบล็อกพูลได้รับการจัดการอย่างอิสระทำให้เนมสเปซสร้างรหัสบล็อกสำหรับบล็อกใหม่โดยไม่ต้องประสานกับเนมสเปซอื่น บล็อกข้อมูลที่มีอยู่ในกลุ่มบล็อกทั้งหมดจะถูกเก็บไว้ใน DataNodes ทั้งหมด โดยทั่วไปบล็อกพูลจะจัดเตรียมสิ่งที่เป็นนามธรรมเพื่อให้บล็อกข้อมูลที่อยู่ใน DataNodes (เช่นเดียวกับในสถาปัตยกรรมเนมสเปซเดียว) สามารถจัดกลุ่มที่สอดคล้องกับเนมสเปซเฉพาะ

ปริมาณเนมสเปซ:

ปริมาณเนมสเปซไม่ใช่อะไรเลยนอกจากเนมสเปซพร้อมกับบล็อกพูล ดังนั้นใน HDFS Federation เราจึงมีไดรฟ์ข้อมูลหลายเนมสเปซ เป็นหน่วยการจัดการที่มีอยู่ในตัวกล่าวคือแต่ละไดรฟ์ข้อมูลเนมสเปซสามารถทำงานได้อย่างอิสระ หาก NameNode หรือเนมสเปซถูกลบออกบล็อกพูลที่เกี่ยวข้องซึ่งอยู่บน DataNodes จะถูกลบด้วย

การสาธิตเกี่ยวกับ Hadoop 2.0 Cluster Architecture Federation | Edureka

ตอนนี้ฉันเดาว่าคุณมีความคิดที่ดีเกี่ยวกับ HDFS Federation Architecture เป็นแนวคิดทางทฤษฎีมากกว่าและผู้คนไม่ได้ใช้มันในระบบการผลิตที่เป็นประโยชน์โดยทั่วไป มีปัญหาการใช้งานบางอย่างกับ HDFS Federation ที่ทำให้ยากต่อการปรับใช้ ดังนั้นไฟล์ สถาปัตยกรรม HA (High Availability) เป็นที่ต้องการในการแก้ปัญหา Single Point of Failure ฉันได้กล่าวถึงไฟล์ สถาปัตยกรรม HDFS HA ในบล็อกถัดไปของฉัน

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

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