Hadoop ระบบนิเวศและส่วนประกอบ: บทช่วยสอนที่ครอบคลุม 2022

เผยแพร่แล้ว: 2021-01-04

Hadoop เป็นเฟรมเวิร์กโอเพ่นซอร์สที่ใช้สำหรับการประมวลผลข้อมูลขนาดใหญ่ มีขนาดมหึมาและมีองค์ประกอบหลายอย่าง แต่ละองค์ประกอบเหล่านั้นทำงานชุดข้อมูลขนาดใหญ่เฉพาะ โซลูชันที่มีอยู่มากมายของ Hadoop ได้กลายเป็นส่วนสำคัญของอุตสาหกรรม และถ้าคุณต้องการเป็นผู้เชี่ยวชาญด้านบิ๊กดาต้า คุณต้องทำความคุ้นเคยกับส่วนประกอบทั้งหมดของมัน

ไม่ต้องกังวล เพราะในบทความนี้ เราจะพิจารณาส่วนประกอบทั้งหมดเหล่านี้:

สารบัญ

ส่วนประกอบหลักของ Hadoop คืออะไร?

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

ส่วนประกอบหลักของ Hadoop:

1. HDFS

รูปแบบเต็มรูปแบบของ HDFS คือ Hadoop Distributed File System เป็นองค์ประกอบที่สำคัญที่สุดของ Hadoop เนื่องจากเกี่ยวข้องกับการจัดเก็บข้อมูล HDFS ให้คุณจัดเก็บข้อมูลในเครือข่ายของอุปกรณ์จัดเก็บข้อมูลแบบกระจาย มีชุดเครื่องมือที่ให้คุณอ่านข้อมูลที่เก็บไว้และวิเคราะห์ตามนั้น HDFS ช่วยให้คุณสามารถดำเนินการได้มาซึ่งข้อมูลของคุณโดยไม่คำนึงถึงระบบปฏิบัติการของคอมพิวเตอร์ของคุณ อ่านเพิ่มเติมเกี่ยวกับ HDFS และสถาปัตยกรรมของมัน

เนื่องจากคุณไม่จำเป็นต้องกังวลเกี่ยวกับระบบปฏิบัติการ คุณสามารถทำงานด้วยประสิทธิภาพที่สูงขึ้นได้ เพราะคุณไม่จำเป็นต้องปรับเปลี่ยนระบบของคุณทุกครั้งที่พบระบบปฏิบัติการใหม่ HDFS ประกอบด้วยส่วนประกอบต่อไปนี้:

  • ชื่อโหนด
  • DataNode
  • ชื่อรองโหนด

Name Node เรียกอีกอย่างว่า 'Master' ใน HDFS มันเก็บข้อมูลเมตาของโหนดทาสเพื่อติดตามการจัดเก็บข้อมูล มันบอกคุณว่าเก็บไว้ที่ไหน โหนดหลักยังตรวจสอบความสมบูรณ์ของโหนดรองด้วย สามารถมอบหมายงานให้กับโหนดข้อมูลได้เช่นกัน โหนดข้อมูลเก็บข้อมูล โหนดข้อมูลเรียกอีกอย่างว่า 'Slave' ใน HDFS

โหนดสเลฟตอบสนองต่อคำขอของโหนดหลักสำหรับสถานะความสมบูรณ์และแจ้งสถานการณ์ ในกรณีที่โหนดสเลฟไม่ตอบสนองต่อการร้องขอสถานะความสมบูรณ์ของโหนดหลัก โหนดหลักจะรายงานว่าโหนดไม่ทำงานและมอบหมายงานให้กับโหนดข้อมูลอื่น

นอกเหนือจากโหนดชื่อและโหนดรองแล้ว ยังมีโหนดที่สามคือโหนดชื่อรอง เป็นบัฟเฟอร์ของโหนดหลัก โดยจะอัปเดตข้อมูลเป็นอิมเมจ FinalFS เมื่อโหนดหลักไม่ทำงาน

2. MapReduce

MapReduce เป็นองค์ประกอบหลักที่สองของ Hadoop และสามารถทำงานได้สองอย่าง ได้แก่ แผนที่และการลด Mapreduce เป็นหนึ่งในเครื่องมือ Hadoop อันดับต้น ๆ ที่สามารถทำให้การเดินทางข้อมูลขนาดใหญ่ของคุณง่ายขึ้น การทำแผนที่หมายถึงการอ่านข้อมูลที่มีอยู่ในฐานข้อมูลและถ่ายโอนไปยังรูปแบบที่เข้าถึงได้และใช้งานได้มากขึ้น การทำแผนที่ทำให้ระบบสามารถใช้ข้อมูลเพื่อการวิเคราะห์โดยการเปลี่ยนรูปแบบ แล้ว Reduction ซึ่งเป็นฟังก์ชันทางคณิตศาสตร์ก็มาถึง ช่วยลดข้อมูลที่แมปเป็นชุดของข้อมูลที่กำหนดไว้เพื่อการวิเคราะห์ที่ดีขึ้น

โดยจะแยกวิเคราะห์คู่คีย์และค่า และย่อให้เป็นทูเพิลสำหรับการทำงาน MapReduce ช่วยทำงานหลายอย่างใน Hadoop เช่น การเรียงลำดับข้อมูลและการกรองข้อมูล องค์ประกอบทั้งสองทำงานร่วมกันและช่วยในการจัดเตรียมข้อมูล MapReduce ยังจัดการการเฝ้าติดตามและการจัดกำหนดการงานอีกด้วย

มันทำหน้าที่เป็นโหนดคอมพิวเตอร์ของระบบนิเวศ Hadoop โดยหลักแล้ว MapReduce จะดูแลการแบ่งงานข้อมูลขนาดใหญ่ออกเป็นกลุ่มของงานขนาดเล็ก คุณสามารถเรียกใช้งาน MapReduce ได้อย่างมีประสิทธิภาพ เนื่องจากคุณสามารถใช้ภาษาโปรแกรมต่างๆ กับงานได้ ช่วยให้คุณสามารถใช้ Python, C ++ และแม้แต่ Java เพื่อเขียนแอปพลิเคชันได้ รวดเร็วและปรับขนาดได้ ซึ่งเป็นสาเหตุว่าทำไมมันจึงเป็นองค์ประกอบสำคัญของระบบนิเวศ Hadoop

3. เส้นด้าย

YARN ย่อมาจาก Yet Another Resource Negotiator มันจัดการการจัดการทรัพยากรใน Hadoop การจัดการทรัพยากรก็เป็นงานที่สำคัญเช่นกัน นั่นคือเหตุผลที่ YARN เป็นหนึ่งในองค์ประกอบสำคัญของ Hadoop ตรวจสอบและจัดการปริมาณงานใน Hadoop YARN สามารถปรับขนาดได้และคล่องตัวสูง นำเสนอโซลูชันขั้นสูงสำหรับการใช้คลัสเตอร์ ซึ่งเป็นข้อได้เปรียบที่สำคัญอีกประการหนึ่ง เรียนรู้เพิ่มเติมเกี่ยวกับสถาปัตยกรรม Hadoop YARN

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

ตรวจสอบสถานะของตัวจัดการแอปและคอนเทนเนอร์ใน YARN การประมวลผลข้อมูลทั้งหมดเกิดขึ้นในคอนเทนเนอร์ และตัวจัดการแอปจะจัดการกระบวนการนี้ หากคอนเทนเนอร์ต้องการทรัพยากรเพิ่มเติมเพื่อดำเนินการประมวลผลข้อมูล ผู้จัดการแอปจะขอสิ่งเดียวกันจากตัวจัดการทรัพยากร

4. Hadoop Common

Apache ได้เพิ่มไลบรารีและยูทิลิตี้มากมายในระบบนิเวศ Hadoop ที่คุณสามารถใช้กับโมดูลต่างๆ ได้ Hadoop Common ช่วยให้คอมพิวเตอร์สามารถเข้าร่วมเครือข่าย Hadoop ได้โดยไม่มีปัญหาด้านความเข้ากันได้ของระบบปฏิบัติการหรือฮาร์ดแวร์ คอมโพเนนต์นี้ใช้เครื่องมือ Java เพื่อให้แพลตฟอร์มจัดเก็บข้อมูลภายในระบบที่จำเป็น

มันได้รับชื่อ Hadoop Common เพราะให้ระบบที่มีฟังก์ชันการทำงานมาตรฐาน

ส่วนประกอบ Hadoop ตามบทบาท

ตอนนี้เราได้ดูส่วนประกอบหลักของ Hadoop แล้ว เรามาเริ่มพูดถึงส่วนอื่นๆ ของมันกัน ดังที่เราได้กล่าวไว้ก่อนหน้านี้ Hadoop มีเครื่องมือมากมาย ดังนั้นเราจึงแบ่งตามบทบาทในระบบนิเวศ Hadoop มาเริ่มกันเลย:

การจัดเก็บข้อมูล

ผู้ดูแลสวนสัตว์

Zookeeper ช่วยให้คุณจัดการแผนการตั้งชื่อ การกำหนดค่า การซิงโครไนซ์ และข้อมูลอื่นๆ ของคลัสเตอร์ Hadoop เป็นเซิร์ฟเวอร์โอเพ่นซอร์สแบบรวมศูนย์ของระบบนิเวศ

HCatalog

HCatalog จัดเก็บข้อมูลในรูปแบบไบนารีและจัดการการจัดการตารางใน Hadoop ช่วยให้ผู้ใช้สามารถใช้ข้อมูลที่จัดเก็บไว้ใน HIVE เพื่อให้สามารถใช้เครื่องมือประมวลผลข้อมูลสำหรับงานของตนได้ อนุญาตให้คุณดำเนินการตรวจสอบสิทธิ์ตาม Kerberos และช่วยในการแปลและตีความข้อมูล

HDFS

เราได้พูดถึง HDFS แล้ว HDFS ย่อมาจาก Hadoop Distributed File System และจัดการการจัดเก็บข้อมูลใน Hadoop รองรับการปรับขนาดในแนวนอนและแนวตั้ง มีความทนทานต่อข้อผิดพลาดและมีปัจจัยการจำลองแบบที่เก็บสำเนาข้อมูลไว้ในกรณีที่ข้อมูลสูญหายเนื่องจากข้อผิดพลาดบางอย่าง

เครื่องมือดำเนินการ

Spark

คุณจะใช้ Spark สำหรับการประมวลผลไมโครแบทช์ใน Hadoop มันสามารถดำเนินการ ETL และการสตรีมข้อมูลแบบเรียลไทม์ มีความคล่องตัวสูงเนื่องจากสามารถรองรับผู้ปฏิบัติงานระดับสูงได้ 80 คน เป็นเฟรมเวิร์กการคำนวณคลัสเตอร์ เรียนรู้เพิ่มเติมเกี่ยวกับแอปพลิเคชัน Apache spark

แผนที่ลด

โมดูลที่ไม่ขึ้นกับภาษานี้ช่วยให้คุณแปลงข้อมูลที่ซับซ้อนเป็นข้อมูลที่ใช้งานได้สำหรับการวิเคราะห์ มันทำแผนที่และย่อข้อมูลเพื่อให้คุณสามารถดำเนินการได้หลากหลาย รวมถึงการเรียงลำดับและการกรองของสิ่งเดียวกัน ช่วยให้คุณสามารถประมวลผลข้อมูลในเครื่องได้เช่นกัน

เตซ

Tez ช่วยให้คุณทำงาน MapReduce ได้หลายงานพร้อมกัน เป็นเฟรมเวิร์กการประมวลผลข้อมูลที่ช่วยให้คุณดำเนินการประมวลผลข้อมูลและประมวลผลแบบแบตช์ สามารถวางแผนการกำหนดค่าใหม่และช่วยให้คุณตัดสินใจได้อย่างมีประสิทธิภาพเกี่ยวกับการไหลของข้อมูล เหมาะอย่างยิ่งสำหรับการจัดการทรัพยากร

การจัดการฐานข้อมูล

อิมพาลา

คุณจะใช้ Impala ในกลุ่ม Hadoop มันสามารถเข้าร่วมตัวเองกับ meta store ของ Hive และแบ่งปันข้อมูลที่จำเป็นกับมัน ง่ายต่อการเรียนรู้อินเทอร์เฟซ SQL และสามารถสืบค้นข้อมูลขนาดใหญ่ได้โดยไม่ต้องใช้ความพยายามมาก

ไฮฟ์

ผู้พัฒนาส่วนประกอบ Hadoop นี้คือ Facebook ใช้ HiveQL ซึ่งค่อนข้างคล้ายกับ SQL และช่วยให้คุณทำการวิเคราะห์ข้อมูล สรุป และสืบค้นข้อมูลได้ ผ่านการจัดทำดัชนี Hive ทำให้งานการสืบค้นข้อมูลเร็วขึ้น

HBase

HBase ใช้ HDFS ในการจัดเก็บข้อมูล เป็นฐานข้อมูลที่เน้นคอลัมน์ ช่วยให้ฐานข้อมูล NoSQL สร้างตารางขนาดใหญ่ที่สามารถมีคอลัมน์และแถวได้หลายแสน (หรือแม้แต่ล้าน) คุณควรใช้ HBase หากคุณต้องการเข้าถึงชุดข้อมูลแบบอ่านหรือเขียน Facebook ใช้ HBase เพื่อเรียกใช้แพลตฟอร์มข้อความ

Apache Drill

Apache Drill ให้คุณรวมชุดข้อมูลหลายชุดเข้าด้วยกัน สามารถรองรับฐานข้อมูล NoSQL ได้หลากหลาย ซึ่งเป็นเหตุผลที่มีประโยชน์มาก มีความสามารถในการปรับขนาดได้สูงและสามารถช่วยผู้ใช้จำนวนมากได้อย่างง่ายดาย ช่วยให้คุณทำงานการวิเคราะห์ที่เหมือน SQL ทั้งหมดได้อย่างง่ายดาย นอกจากนี้ยังมีโซลูชันการตรวจสอบสิทธิ์สำหรับการรักษาความปลอดภัยแบบ end-to-end ภายในระบบของคุณ

สิ่งที่เป็นนามธรรม

Apache Sqoop

คุณสามารถใช้ Apache Sqoop เพื่อนำเข้าข้อมูลจากแหล่งภายนอกไปยังที่จัดเก็บข้อมูลของ Hadoop เช่น HDFS หรือ HBase คุณสามารถใช้เพื่อส่งออกข้อมูลจากที่จัดเก็บข้อมูลของ Hadoop ไปยังที่จัดเก็บข้อมูลภายนอกได้เช่นกัน ความสามารถของ Sqoop ในการถ่ายโอนข้อมูลแบบคู่ขนานช่วยลดภาระทรัพยากรที่มากเกินไป และช่วยให้คุณสามารถนำเข้าหรือส่งออกข้อมูลได้อย่างมีประสิทธิภาพสูง คุณสามารถใช้ Sqoop เพื่อคัดลอกข้อมูลได้เช่นกัน

Apache Pig

Apache pig พัฒนาโดย Yahoo ช่วยคุณในการวิเคราะห์ชุดข้อมูลขนาดใหญ่ ใช้ภาษา Pig Latin เพื่อทำงานที่จำเป็นได้อย่างราบรื่นและมีประสิทธิภาพ คุณสามารถปรับโครงสร้างของโปรแกรม Pig ให้ขนานกันได้ หากคุณต้องการจัดการกับชุดข้อมูลจำนวนมาก ซึ่งทำให้ Pig เป็นโซลูชันที่โดดเด่นสำหรับการวิเคราะห์ข้อมูล ใช้บทช่วยสอน apache pig ของเราเพื่อทำความเข้าใจเพิ่มเติม

การสตรีมข้อมูล

Flume

Flume ให้คุณรวบรวมข้อมูลปริมาณมหาศาล เป็นโซลูชันการรวบรวมข้อมูลที่ส่งข้อมูลที่รวบรวมไปยัง HDFS มันมีสามส่วน คือ ช่องทาง แหล่งที่มา และสุดท้าย จม Flume มีตัวแทนที่เรียกใช้กระแสข้อมูล ข้อมูลที่มีอยู่ในโฟลว์นี้เรียกว่าเหตุการณ์ Twitter ใช้ Flume ในการสตรีมทวีต

คาฟคา

Apache Kafka เป็นโซลูชันที่ทนทาน รวดเร็ว และปรับขนาดได้สำหรับการส่งข้อความสาธารณะแบบกระจาย LinkedIn อยู่เบื้องหลังการพัฒนาเครื่องมืออันทรงพลังนี้ มันรักษาฟีดข้อความจำนวนมากภายในหัวข้อ องค์กรหลายแห่งใช้ Kafka ในการสตรีมข้อมูล MailChimp, Airbnb, Spotify และ FourSquare เป็นผู้ใช้ที่โดดเด่นของเครื่องมืออันทรงพลังนี้

เรียนรู้เพิ่มเติม – Hadoop Components

ในคู่มือนี้ เราได้พยายามสัมผัสทุกองค์ประกอบ Hadoop สั้น ๆ เพื่อให้คุณคุ้นเคยกับมันอย่างทั่วถึง หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับส่วนประกอบ Hadoop และสถาปัตยกรรม เราแนะนำให้ไปที่บล็อกของเรา ซึ่งเต็มไปด้วยบทความเกี่ยวกับวิทยาศาสตร์ข้อมูลที่เป็นประโยชน์

หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับ Big Data โปรดดูที่ PG Diploma in Software Development Specialization in Big Data program ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีกรณีศึกษาและโครงการมากกว่า 7 กรณี ครอบคลุมภาษาและเครื่องมือในการเขียนโปรแกรม 14 รายการ เวิร์กช็อป ความช่วยเหลือด้านการเรียนรู้และจัดหางานอย่างเข้มงวดมากกว่า 400 ชั่วโมงกับบริษัทชั้นนำ

เรียนรู้ หลักสูตรการพัฒนาซอฟต์แวร์ ออนไลน์จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม Executive PG โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

ปรมาจารย์ด้านเทคโนโลยีแห่งอนาคต - Big Data

7 กรณีศึกษาและโครงการ. ความช่วยเหลือด้านงานกับบริษัทชั้นนำ อาจารย์ที่ปรึกษาเฉพาะทาง.
โปรแกรมประกาศนียบัตรขั้นสูงด้าน Big Data จาก IIIT Bangalore