บทช่วยสอน HDFS: ข้อมูลเบื้องต้นเกี่ยวกับ HDFS และคุณสมบัติต่างๆ



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

การสอน HDFS

ก่อนที่จะก้าวไปข้างหน้าในบล็อกการสอน HDFS นี้ฉันขอนำคุณผ่านสถิติบ้าๆบางอย่างที่เกี่ยวข้องกับ HDFS

  • ในปี 2010 เฟสบุ๊ค อ้างว่ามีการจัดเก็บคลัสเตอร์ HDFS ที่ใหญ่ที่สุดแห่งหนึ่ง 21 เพตาไบต์ ของข้อมูล
  • ในปี 2012, เฟสบุ๊ค ประกาศว่าพวกเขามีคลัสเตอร์ HDFS เดียวที่ใหญ่ที่สุดที่มีมากกว่า 100 PB ของข้อมูล .
  • และ Yahoo ! มีมากกว่า 100,000 CPU ในกว่า เซิร์ฟเวอร์ 40,000 เครื่อง ใช้ Hadoop โดยมีคลัสเตอร์ Hadoop ที่ใหญ่ที่สุดทำงานอยู่ 4,500 โหนด . ทั้งหมดบอก Yahoo! ร้านค้า 455 เพตาไบต์ ของข้อมูลใน HDFS
  • ในความเป็นจริงภายในปี 2013 ชื่อใหญ่ส่วนใหญ่ใน Fortune 50 เริ่มใช้ Hadoop

ย่อยยากเกินไป? ขวา. ตามที่กล่าวไว้ใน Hadoop มีสองหน่วยพื้นฐาน - torage และ กำลังประมวลผล . เมื่อฉันพูดถึงส่วนจัดเก็บของ Hadoop ฉันหมายถึง HDFS ซึ่งย่อมาจาก Hadoop แจกจ่ายระบบไฟล์ . ดังนั้นในบล็อกนี้ฉันจะแนะนำให้คุณรู้จัก HDFS .





ที่นี่ฉันจะพูดถึง:

วิธีใช้ python ใน anaconda
  • HDFS คืออะไร?
  • ข้อดีของ HDFS
  • คุณสมบัติของ HDFS

ก่อนที่จะพูดถึง HDFS ขอบอกก่อนว่าระบบไฟล์แบบกระจายคืออะไร?



DFS หรือระบบไฟล์แบบกระจาย:

ระบบไฟล์แบบกระจายพูดถึง การจัดการ ข้อมูล เช่น ไฟล์หรือโฟลเดอร์ในคอมพิวเตอร์หรือเซิร์ฟเวอร์หลายเครื่อง กล่าวอีกนัยหนึ่ง DFS เป็นระบบไฟล์ที่ช่วยให้เราสามารถจัดเก็บข้อมูลบนโหนดหรือเครื่องหลาย ๆ เครื่องในคลัสเตอร์และอนุญาตให้ผู้ใช้หลายคนเข้าถึงข้อมูลได้ โดยพื้นฐานแล้วมันมีจุดประสงค์เดียวกับระบบไฟล์ที่มีอยู่ในเครื่องของคุณเช่นสำหรับ windows ที่คุณมี NTFS (New Technology File System) หรือสำหรับ Mac ที่คุณมี HFS (Hierarchical File System) ข้อแตกต่างเพียงอย่างเดียวคือในกรณีของ Distributed File System คุณจะจัดเก็บข้อมูลในหลาย ๆ เครื่องแทนที่จะเป็นเครื่องเดียว แม้ว่าไฟล์จะถูกเก็บไว้ในเครือข่าย แต่ DFS จะจัดระเบียบและแสดงข้อมูลในลักษณะที่ผู้ใช้นั่งอยู่บนเครื่องจะรู้สึกว่าข้อมูลทั้งหมดถูกเก็บไว้ในเครื่องนั้น

HDFS คืออะไร?

Hadoop Distributed file system หรือ HDFS เป็นระบบไฟล์แบบกระจายบน Java ที่ช่วยให้คุณจัดเก็บข้อมูลขนาดใหญ่ในหลายโหนดในคลัสเตอร์ Hadoop ดังนั้นหากคุณติดตั้ง Hadoop คุณจะได้รับ HDFS เป็นระบบจัดเก็บข้อมูลพื้นฐานสำหรับจัดเก็บข้อมูลในสภาพแวดล้อมแบบกระจาย

ลองดูตัวอย่างเพื่อทำความเข้าใจ ลองนึกภาพว่าคุณมีคอมพิวเตอร์ 10 เครื่องหรือคอมพิวเตอร์ 10 เครื่องที่มีฮาร์ดไดรฟ์ขนาด 1 TB ในแต่ละเครื่อง ตอนนี้ HDFS บอกว่าถ้าคุณติดตั้ง Hadoop เป็นแพลตฟอร์มที่ด้านบนของสิบเครื่องคุณจะได้รับ HDFS เป็นบริการจัดเก็บข้อมูล Hadoop Distributed File System ได้รับการแจกจ่ายในลักษณะที่ทุกเครื่องมีส่วนจัดเก็บข้อมูลส่วนบุคคลสำหรับการจัดเก็บข้อมูลทุกประเภท



HDFS Tutorial: ข้อดีของ HDFS

1. การจัดเก็บแบบกระจาย:

พื้นที่จัดเก็บแบบกระจาย - บทช่วยสอน HDFS - Edureka

เมื่อคุณเข้าถึงระบบไฟล์ Hadoop Distributed จากสิบเครื่องในคลัสเตอร์ Hadoop คุณจะรู้สึกราวกับว่าคุณได้ล็อกอินเข้าสู่เครื่องขนาดใหญ่เครื่องเดียวที่มีความจุ 10 TB (พื้นที่เก็บข้อมูลทั้งหมดมากกว่าสิบเครื่อง) หมายความว่าอย่างไร? หมายความว่าคุณสามารถจัดเก็บไฟล์ขนาดใหญ่ 10 TB ไฟล์เดียวซึ่งจะกระจายไปในเครื่องสิบเครื่อง (แต่ละเครื่อง 1 TB)ดังนั้นจึงเป็น ไม่ จำกัด ขอบเขตทางกายภาพ ของแต่ละเครื่อง

2. การคำนวณแบบกระจายและขนาน:

เนื่องจากข้อมูลถูกแบ่งไปทั่วทั้งเครื่องทำให้เราสามารถใช้ประโยชน์จาก การคำนวณแบบกระจายและแบบขนาน . มาทำความเข้าใจแนวคิดนี้จากตัวอย่างข้างต้น สมมติว่าต้องใช้เวลา 43 นาทีในการประมวลผลไฟล์ 1 TB บนเครื่องเดียว ตอนนี้บอกฉันว่าจะใช้เวลาเท่าไหร่ในการประมวลผลไฟล์ 1 TB เดียวกันเมื่อคุณมี 10 เครื่องในคลัสเตอร์ Hadoop ที่มีการกำหนดค่าคล้ายกัน - 43 นาทีหรือ 4.3 นาที 4.3 นาทีใช่เลย! เกิดอะไรขึ้นที่นี่? แต่ละโหนดทำงานกับส่วนหนึ่งของไฟล์ 1 TB แบบขนาน ดังนั้นงานที่ใช้เวลา 43 นาทีก่อนหน้านี้จึงเสร็จสิ้นในเวลาเพียง 4.3 นาทีในขณะนี้เนื่องจากงานแบ่งออกเป็นสิบเครื่อง

3. ความสามารถในการปรับขนาดตามแนวนอน:

อะไรคือความแตกต่างระหว่าง css และ css3

สุดท้าย แต่ไม่ท้ายสุดให้เราพูดคุยเกี่ยวกับ มาตราส่วนแนวนอน หรือ การขยายออก ใน Hadoop การปรับขนาดมีสองประเภท: แนวตั้ง และ แนวนอน . ในการปรับขนาดตามแนวตั้ง (ขยายขนาด) คุณจะเพิ่มความจุฮาร์ดแวร์ของระบบของคุณ กล่าวอีกนัยหนึ่งคือคุณจัดหา RAM หรือ CPU เพิ่มเติมและเพิ่มลงในระบบที่มีอยู่ของคุณเพื่อให้มีประสิทธิภาพและมีประสิทธิภาพมากขึ้น แต่มีความท้าทายที่เกี่ยวข้องกับการปรับขนาดตามแนวตั้งหรือการขยายขนาด:

  • มีขีด จำกัด ที่คุณสามารถเพิ่มความจุฮาร์ดแวร์ได้เสมอ ดังนั้นคุณจึงไม่สามารถเพิ่ม RAM หรือ CPU ของเครื่องได้ต่อไป
  • ในการปรับขนาดแนวตั้งคุณต้องหยุดเครื่องก่อน จากนั้นคุณเพิ่ม RAM หรือ CPU เพื่อให้เป็นสแต็กฮาร์ดแวร์ที่แข็งแกร่งยิ่งขึ้น หลังจากที่คุณเพิ่มความจุฮาร์ดแวร์แล้วให้คุณรีสตาร์ทเครื่อง เวลาที่คุณหยุดระบบนี้กลายเป็นเรื่องท้าทาย

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

วิดีโอสอน HDFS:

คุณสามารถดูวิดีโอที่ให้ไว้ด้านล่างซึ่งมีการกล่าวถึงแนวคิดทั้งหมดที่เกี่ยวข้องกับ HDFS โดยละเอียด:

การสอน HDFS: คุณสมบัติของ HDFS

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

เพิ่มตัวเลขสองตัวใน java
  • ค่าใช้จ่าย: โดยทั่วไปแล้ว HDFS จะติดตั้งบนฮาร์ดแวร์สินค้าเช่นเดสก์ท็อป / แล็ปท็อปที่คุณใช้ทุกวัน ดังนั้นจึงประหยัดมากในแง่ของต้นทุนการเป็นเจ้าของโครงการ เนื่องจากเราใช้ฮาร์ดแวร์สินค้าต้นทุนต่ำคุณจึงไม่จำเป็นต้องใช้เงินจำนวนมากเพื่อขยายคลัสเตอร์ Hadoop ของคุณ กล่าวอีกนัยหนึ่งคือการเพิ่มโหนดให้กับ HDFS ของคุณนั้นคุ้มค่า
  • ความหลากหลายและปริมาณข้อมูล: เมื่อเราพูดถึง HDFS เราจะพูดถึงการจัดเก็บข้อมูลขนาดใหญ่เช่นข้อมูลเทราไบต์และเพตะไบต์และข้อมูลประเภทต่างๆ ดังนั้นคุณสามารถจัดเก็บข้อมูลประเภทใดก็ได้ลงใน HDFS ไม่ว่าจะเป็นแบบมีโครงสร้างไม่มีโครงสร้างหรือกึ่งโครงสร้าง
  • ความน่าเชื่อถือและความทนทานต่อความผิดพลาด: เมื่อคุณจัดเก็บข้อมูลบน HDFS ระบบจะแบ่งข้อมูลที่กำหนดไว้ภายในเป็นบล็อกข้อมูลและจัดเก็บข้อมูลแบบกระจายทั่วคลัสเตอร์ Hadoop ของคุณ ข้อมูลเกี่ยวกับบล็อกข้อมูลที่อยู่ซึ่งโหนดข้อมูลถูกบันทึกไว้ในข้อมูลเมตา NameNode จัดการข้อมูลเมตาและ DataNodes มีหน้าที่จัดเก็บข้อมูล
    โหนดชื่อยังจำลองข้อมูลเช่นเก็บสำเนาข้อมูลหลายชุด การจำลองข้อมูลนี้ทำให้ HDFS มีความน่าเชื่อถือและทนทานต่อความผิดพลาด ดังนั้นแม้ว่าโหนดใด ๆ จะล้มเหลวเราสามารถดึงข้อมูลจากแบบจำลองที่อยู่ในโหนดข้อมูลอื่นได้ โดยค่าเริ่มต้นปัจจัยการจำลองคือ 3 ดังนั้นหากคุณจัดเก็บไฟล์ 1 GB ใน HDFS สุดท้ายจะใช้พื้นที่ 3 GB โหนดชื่อจะอัปเดตข้อมูลเมตาเป็นระยะ ๆ และรักษาปัจจัยการจำลองให้สอดคล้องกัน
  • ความสมบูรณ์ของข้อมูล: ความสมบูรณ์ของข้อมูลพูดถึงว่าข้อมูลที่จัดเก็บใน HDFS ของฉันถูกต้องหรือไม่ HDFS ตรวจสอบความสมบูรณ์ของข้อมูลที่จัดเก็บอย่างต่อเนื่องกับการตรวจสอบ หากพบข้อบกพร่องใด ๆ จะรายงานไปยังโหนดชื่อเกี่ยวกับเรื่องนี้ จากนั้นโหนดชื่อจะสร้างแบบจำลองใหม่เพิ่มเติมดังนั้นจึงลบสำเนาที่เสียหาย
  • ปริมาณงานสูง: ปริมาณงานคือจำนวนงานที่ทำในหน่วยเวลา มันพูดถึงความเร็วที่คุณสามารถเข้าถึงข้อมูลจากระบบไฟล์ โดยทั่วไปจะให้ข้อมูลเชิงลึกเกี่ยวกับประสิทธิภาพของระบบ ดังที่คุณได้เห็นในตัวอย่างข้างต้นซึ่งเราใช้เครื่องจักรสิบเครื่องรวมกันเพื่อปรับปรุงการคำนวณ เราสามารถลดเวลาในการประมวลผลจาก 43 นาที เป็นเพียง 4.3 นาที เนื่องจากเครื่องจักรทั้งหมดทำงานควบคู่กันไป ดังนั้นด้วยการประมวลผลข้อมูลแบบขนานเราจึงลดเวลาในการประมวลผลลงอย่างมากและทำให้ได้รับปริมาณงานสูง
  • ตำแหน่งของข้อมูล: ตำแหน่งข้อมูลพูดถึงการย้ายหน่วยประมวลผลไปยังข้อมูลแทนที่จะเป็นข้อมูลไปยังหน่วยประมวลผล ในระบบดั้งเดิมของเราเราเคยนำข้อมูลไปยังเลเยอร์แอปพลิเคชันแล้วประมวลผล แต่ตอนนี้เนื่องจากสถาปัตยกรรมและปริมาณข้อมูลจำนวนมากทำให้การนำข้อมูลไปยังเลเยอร์แอปพลิเคชันจะลดประสิทธิภาพของเครือข่ายลงในระดับที่เห็นได้ชัดเจน.ดังนั้นใน HDFS เราจึงนำส่วนการคำนวณไปยังโหนดข้อมูลที่มีข้อมูลอยู่ ดังนั้นคุณไม่ได้ย้ายข้อมูลคุณกำลังนำโปรแกรมหรือกระบวนการเข้าเป็นส่วนหนึ่งของข้อมูล

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

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

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

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