ค้นหาเว็บไซต์

วิธีการตั้งค่าความพร้อมใช้งานสูงสำหรับ Namenode - ตอนที่ 5


Hadoop มีองค์ประกอบหลัก 2 ส่วน ได้แก่ HDFS และ YARN HDFS ใช้สำหรับจัดเก็บ ข้อมูล YARN ใช้สำหรับการประมวลผล ข้อมูล HDFS คือ Hadoop Distributed File System โดยมี Namenode เป็น บริการหลัก และ Datanode เป็น บริการทาส

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

Hadoop 2.x มอบความเป็นไปได้ที่เราสามารถมี Namenodes ได้สองตัว อันหนึ่งจะเป็น Namenode ที่ใช้งานอยู่ และอีกอันจะเป็น Namenode สแตนด์บาย< /แข็งแกร่ง>.

  • Namenode ที่ใช้งานอยู่ – จัดการการดำเนินงานของไคลเอ็นต์ทั้งหมด
  • เนมโหนดสแตนด์บาย – ซ้ำซ้อนกับ เนมโหนดที่ใช้งานอยู่ หาก Active NN หยุดทำงาน NN สแตนด์บาย จะรับผิดชอบทั้งหมดของ Active NN

การเปิดใช้งาน Namenode High Availability ต้องใช้ Zookeeper ซึ่งจำเป็นสำหรับการเฟลโอเวอร์อัตโนมัติ ZKFC (Zookeeper Failover Controller) เป็นไคลเอนต์ Zookeeper ที่ใช้เพื่อรักษาสถานะของ Namenode

ความต้องการ

  • แนวทางปฏิบัติที่ดีที่สุดสำหรับการปรับใช้เซิร์ฟเวอร์ Hadoop บน CentOS/RHEL 7 – ส่วนที่ 1
  • การตั้งค่าข้อกำหนดเบื้องต้นของ Hadoop และการเพิ่มความปลอดภัย – ส่วนที่ 2
  • วิธีติดตั้งและกำหนดค่า Cloudera Manager บน CentOS/RHEL 7 – ตอนที่ 3
  • วิธีติดตั้ง CDH และกำหนดค่าตำแหน่งบริการบน CentOS/RHEL 7 – ตอนที่ 4

ในบทความนี้ เราจะเปิดใช้งาน Namenode High Availability ใน Cloudera Manager

ขั้นตอนที่ 1: การติดตั้ง Zookeeper

1. เข้าสู่ระบบ Cloudera Manager

http://Your-IP:7180/cmf/home

2. ในข้อความแจ้งการดำเนินการ คลัสเตอร์ (tecmint) ให้เลือก “เพิ่มบริการ

3. เลือกบริการ “ผู้ดูแลสัตว์

4. เลือกเซิร์ฟเวอร์ที่เรากำลังจะติดตั้ง Zookeeper

5. เราจะมี ผู้ดูแลสวนสัตว์ 3 คน เพื่อจัดตั้ง องค์ประชุมผู้ดูแลสวนสัตว์ เลือกเซิร์ฟเวอร์ตามที่ระบุไว้ด้านล่าง

6. กำหนดค่าคุณสมบัติ Zookeeper ที่นี่เรามีคุณสมบัติเริ่มต้น ในแบบเรียลไทม์ คุณต้องมีไดเร็กทอรี/จุดต่อเชื่อมแยกต่างหากสำหรับจัดเก็บข้อมูล Zookeeper ในส่วนที่ 1 เราได้อธิบายเกี่ยวกับการกำหนดค่าพื้นที่เก็บข้อมูลสำหรับแต่ละบริการแล้ว คลิก 'ดำเนินการต่อ' เพื่อดำเนินการต่อ

7. การติดตั้งจะเริ่มต้นขึ้น เมื่อติดตั้งแล้ว Zookeeper จะเริ่มต้นขึ้น คุณสามารถดูการดำเนินการเบื้องหลังได้ที่นี่

8. หลังจากเสร็จสิ้นขั้นตอนข้างต้นแล้ว สถานะจะเป็น 'เสร็จสิ้น'

9. ตอนนี้ Zookeeper ได้รับการติดตั้งและกำหนดค่าเรียบร้อยแล้ว คลิก 'เสร็จสิ้น'

10. คุณสามารถดูบริการ Zookeeper ได้บนแดชบอร์ด Cloudera Manager

ขั้นตอนที่ 2: การเปิดใช้งาน Namenode High Availability

11. ไปที่ Cloudera Manager –> HDFS –> การดำเนินการ –> เปิดใช้งาน High Availability แข็งแกร่ง>.

12. ป้อน ชื่อ Nameservice เป็น “nameservice1 ” – นี่คือเนมสเปซทั่วไปสำหรับทั้ง Namenode ที่ใช้งานอยู่และสแตนด์บาย

13. เลือก Namenode ที่สอง ที่เราจะมี Namenode สแตนด์บาย

14. ที่นี่เรากำลังเลือก master2.linux-console.net สำหรับ Namenode สแตนด์บาย

15. เลือกโหนด Journal ซึ่งเป็นบริการบังคับสำหรับการซิงโครไนซ์ ใช้งานอยู่ และ Namenode สแตนด์บาย

16. เรากำลังสร้าง Quorum Journal โดยการวางโหนด Journal ใน 3 เซิร์ฟเวอร์ตามที่กล่าวไว้ด้านล่าง เลือก 3 เซิร์ฟเวอร์แล้วคลิก 'ตกลง'

17. คลิก 'ดำเนินการต่อ' เพื่อดำเนินการต่อ

18. ป้อนเส้นทางไดเรกทอรี โหนดสมุดรายวัน เพียงแค่เราต้องพูดถึงเส้นทางขณะติดตั้งไดเร็กทอรีนี้จะถูกสร้างขึ้นโดยอัตโนมัติโดยบริการเอง เรากำลังพูดถึงว่า '/jn' คลิก 'ดำเนินการต่อ' เพื่อดำเนินการต่อ

19. จะเริ่มเปิดใช้งาน ความพร้อมใช้งานสูง

20. เมื่อเสร็จสิ้นกระบวนการเบื้องหลังทั้งหมดแล้ว เราจะได้รับสถานะ "เสร็จสิ้น"

21. สุดท้ายนี้ เราจะได้รับการแจ้งเตือน 'เปิดใช้งาน High Availability สำเร็จแล้ว' คลิก 'เสร็จสิ้น'

22. ตรวจสอบ ใช้งาน และ Namenode สแตนด์บาย โดยไปที่ Cloudera Manager –> HDFS –> อินสแตนซ์

23. ที่นี่ คุณสามารถมี Namenodes ได้สองอัน โดยอันหนึ่งจะอยู่ในสถานะ 'ใช้งานอยู่' และอีกอันจะอยู่ใน 'สแตนด์บาย ' สถานะ

บทสรุป

ในบทความนี้ เราได้ดำเนินการทีละขั้นตอนเพื่อเปิดใช้งาน Namenode High Availability ขอแนะนำอย่างยิ่งให้มี Namenode High Availability ในคลัสเตอร์ทั้งหมดในสภาพแวดล้อมแบบเรียลไทม์ กรุณาโพสต์ข้อสงสัยของคุณหากคุณพบข้อผิดพลาดใด ๆ ในขณะที่ดำเนินการนี้ เราจะเห็น Resource Manager High Availability ในบทความถัดไป