NameNode High Availability พร้อม Quorum Journal Manager



NameNode High Availability เป็นหนึ่งในคุณสมบัติที่สำคัญที่สุดของ Hadoop 2.0 NameNode High Availability with Quorum Journal Manager ใช้เพื่อแชร์บันทึกการแก้ไขระหว่าง Active และ Standby NameNodes

นี่เป็นหนึ่งในคุณสมบัติที่สำคัญที่สุดของ Hadoop 2.0 ก่อนที่จะพูดถึงคุณลักษณะ Namenode High Availability จำเป็นต้องทราบว่า Quorum คืออะไร Quorum เป็นคำทั่วไปที่ใช้ในการทำคลัสเตอร์ซึ่งเราบอกว่าคลัสเตอร์หนึ่งมีเสถียรภาพ Quorum ให้รายชื่อเครื่องจักรและช่วยในการกำหนดความสมบูรณ์ของคลัสเตอร์ โควรัมมีสองประเภท: โควรัมที่คาดหวังและโควรัมจากการคำนวณ





วิธีใช้ aws cli

NameNode High Availability พร้อม Quorum Journal Manager (QJM)

ก่อนหน้า Hadoop 2.0 NameNode เป็นจุดเดียวของความล้มเหลว (SPOF) ในคลัสเตอร์ HDFS แต่ละคลัสเตอร์มี NameNode เดียวและถ้าเครื่องนั้นไม่พร้อมใช้งานคลัสเตอร์ทั้งหมดจะไม่พร้อมใช้งานจนกว่า NameNode จะถูกรีสตาร์ทหรือเริ่มต้นในเครื่องแยกต่างหาก ในคลัสเตอร์ HA แบบคลาสสิกมีการกำหนดค่าเครื่องสองเครื่องแยกกันเป็น NameNodes ณ จุดใดโหนดหนึ่งจะอยู่ในสถานะใช้งานอยู่และอีกโหนดหนึ่งจะอยู่ในสถานะสแตนด์บาย Active NameNode รับผิดชอบการดำเนินการของไคลเอ็นต์ทั้งหมดในคลัสเตอร์ในขณะที่สแตนด์บายทำหน้าที่เป็นทาสโดยรักษาสถานะเพียงพอที่จะให้เกิดการล้มเหลวอย่างรวดเร็ว

เพื่อให้โหนดสแตนด์บายรักษาสถานะที่ประสานงานกับโหนดที่ใช้งานอยู่โหนดทั้งสองจะสื่อสารกับกลุ่มของ daemons ที่แยกจากกันที่เรียกว่า ‘JournalNodes’ (JNs) เมื่อการปรับเปลี่ยนเนมสเปซใด ๆ ดำเนินการโดยโหนดที่ใช้งานอยู่จะบันทึกบันทึกการเปลี่ยนแปลงที่ทำใน JournalNodes โหนดสแตนด์บายสามารถอ่านข้อมูลที่แก้ไขเพิ่มเติมจาก JN และตรวจสอบการเปลี่ยนแปลงอย่างสม่ำเสมอ เนื่องจากโหนดสแตนด์บายเห็นการเปลี่ยนแปลงจึงนำไปใช้กับเนมสเปซของตนเอง ในกรณีที่เกิดข้อผิดพลาด Standby จะตรวจสอบให้แน่ใจว่าได้อ่านการเปลี่ยนแปลงทั้งหมดจาก JounalNodes ก่อนที่จะเปลี่ยนสถานะเป็น 'Active state' สิ่งนี้รับประกันได้ว่าสถานะของเนมสเปซถูกซิงค์อย่างสมบูรณ์ก่อนที่จะเกิดความล้มเหลว



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

java ide คืออะไร

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

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



กระทู้ที่เกี่ยวข้อง:

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

คำสั่ง goto ใน c ++