Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> ฐานข้อมูล

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

มีหลายวิธีในการอัปเกรดคลัสเตอร์ Couchbase® Server หลายโหนด บทความนี้อธิบายขั้นตอนโดยละเอียดสำหรับการอัปเกรดออนไลน์แบบ Rolling โดยใช้วิธี graceful failover และ delta recovery

บทนำ

วิธีที่อธิบายในบทความนี้เป็นหนึ่งในวิธีที่นิยมมากที่สุดสำหรับการอัปเกรดออนไลน์ เนื่องจากไม่จำเป็นต้องเพิ่มโหนดเพิ่มเติมเข้าไปในคลัสเตอร์สำหรับการอัปเกรด วิธีนี้รวดเร็วและใช้น้อยทรัพยากรน้อยกว่า เนื่องจากโหนดถูกกู้คืนโดยใช้เพียง delta changes แทนการ rebalance ทั้งหมด นอกจากนี้ global secondary indexes ยังคงรักษาไว้ในกระบวนการนี้ ซึ่งไม่ต้องสร้างใหม่ ข้อเสียหลักของวิธีนี้คือ ความพร้อมใช้งานสูงลดลงในช่วงการอัปเกรด

ข้อกำหนดเบื้องต้น

คุณควรดำเนินการอัปเกรดนี้ในช่วงนอกชั่วโมงเร่งด่วน มีข้อกำหนดและข้อพิจารณาบางประการสำหรับการใช้ graceful failover ตรวจสอบเอกสารการตั้งค่านี้ก่อนดำเนินการตามขั้นตอนที่ระบุในบทความนี้

รายละเอียดสภาพแวดล้อม

ตัวอย่างในบทความนี้มีลักษณะดังนี้:

  • มีคลัสเตอร์สองโหนด Prashant 2-Node London Cluster
  • อัปเกรด Couchbase Enterprise Edition เวอร์ชัน 5.1.0 build 5552 เป็น Couchbase Enterprise Edition เวอร์ชัน 5.5.0 build 2473 - IPv4
  • ใช้ Couchbase Administration Web Console สำหรับส่วนใหญ่ของขั้นตอน

ขั้นตอนการอัปเกรด

ใช้ขั้นตอนในส่วนนี้เพื่อดำเนินการอัปเกรด

ขั้นตอนที่ 1: ดาวน์โหลด Couchbase เวอร์ชัน 5.5 บนทั้งสองโหนดของคลัสเตอร์

ดาวน์โหลดไฟล์ binary executable ของ Couchbase เวอร์ชัน 5.5 บนโหนดแรกของคลัสเตอร์

ภาพต่อไปนี้ใช้ยูทิลิตี้ WGET เพื่อดาวน์โหลดไฟล์ RPM Package Manager (RPM) ที่จำเป็นจากเซิร์ฟเวอร์

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

หลังจากดาวน์โหลด ตำแหน่งปัจจุบันจะมี binary เวอร์ชัน 5.5 ตามภาพด้านล่าง:

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

ทำกระบวนการดาวน์โหลดซ้ำสำหรับอีกโหนดหนึ่งของคลัสเตอร์

ขั้นตอนที่ 2: เข้าสู่ระบบโหนดคลัสเตอร์ node-1

ใช้ Couchbase Web Console เพื่อเข้าสู่ระบบคลัสเตอร์ node-1 โดยใช้บัญชี Administrator ตามภาพด้านล่าง:

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

ขั้นตอนที่ 3: แสดงรายการเซิร์ฟเวอร์

คลิกแท็บ Servers เพื่อดูรายการเซิร์ฟเวอร์ที่เป็นส่วนหนึ่งของคลัสเตอร์ ภาพต่อไปนี้แสดงว่ามีสองโหนดเซิร์ฟเวอร์ที่เป็นส่วนหนึ่งของคลัสเตอร์นี้:

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

ขั้นตอนที่ 4: ตรวจสอบรายละเอียดเซิร์ฟเวอร์

คลิกที่แต่ละเซิร์ฟเวอร์เพื่อดูข้อมูลโดยละเอียดรวมถึงเวอร์ชันปัจจุบัน ตามภาพด้านล่าง:

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

เนื่องจากคุณเข้าสู่ระบบจาก node-1 คุณต้องอัปเกรดโหนดอื่น node-2 ก่อน เพื่อให้เซสชัน Couchbase Web Console คงอยู่แม้หลังจากการปิด Couchbase ระหว่างการอัปเกรด

ขั้นตอนที่ 5: ทำ graceful failover ของ node-2

ขยายส่วน node-2 และคลิก Failover ตามภาพด้านล่าง:

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

เลือก Graceful Failover และคลิก Failover Server ตามภาพด้านล่าง:

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

เวลาที่ใช้สำหรับ graceful failover สัมพันธ์โดยตรงกับจำนวน vBuckets ที่ต้องเปิดใช้งานหรือซิงค์ไปยังโหนดที่รอดชีวิต หากคุณเลือก Hard Failover แทน vBuckets จะไม่ถูกซิงค์ และในที่สุดคุณจะต้องใช้ Full Recovery แทน Delta Recovery หลังการอัปเกรดซอฟต์แวร์

ภาพต่อไปนี้แสดงความคืบหน้าของการอัปเกรด:

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

ภาพต่อไปนี้แสดง Couchbase Web Console หลังจากการอัปเกรดเสร็จสิ้น:

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

ขั้นตอนที่ 6: ปิด Couchbase บน node-2

ปิด Couchbase บน node-2 ตามภาพด้านล่าง:

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

หลังจากการปิด สถานะของโหนดใน Couchbase Web Console จะเปลี่ยนเป็น Node unresponsive ตามภาพด้านล่าง:

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

ขั้นตอนที่ 7: ดำเนินการอัปเกรด

อัปเกรดเวอร์ชัน 5.1.0 ที่มีอยู่เป็น 5.5.0 โดยนำ binary ที่คุณดาวน์โหลดในขั้นตอนที่ 1 ไปใช้ ตามภาพด้านล่าง เนื่องจากนี้ไม่ใช่การติดตั้งใหม่ ให้ใช้ตัวเลือก --upgrade ของคำสั่ง RPM หากคุณต้องการถอนการติดตั้งเวอร์ชัน 5.1.0 แล้วติดตั้ง 5.5.0 (แทนที่จะใช้ตัวเลือก --upgrade) คุณจะต้องใช้ Full Recovery แทน Delta Recovery หลังการอัปเกรดซอฟต์แวร์

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

การอัปเกรดควรใช้เวลาเพียงไม่กี่นาที และหลังจากอัปเกรดเสร็จสิ้น กระบวนการ Couchbase Server จะเริ่มต้นโดยอัตโนมัติ ตามภาพด้านล่าง:

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

เอาต์พุต Couchbase Web Console ตอนนี้แสดงเวอร์ชันที่อัปเกรดแล้ว รวมถึงตัวเลือกเพิ่มกลับโดยใช้ Full Recovery หรือ Delta Recovery ตามภาพด้านล่าง:

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

ขั้นตอนที่ 8: ทำ Delta recovery

คลิกที่ Add Back: Delta Recovery

สถานะจะเปลี่ยนเป็น DELTA RECOVERY pending rebalance ตามภาพด้านล่าง ในขั้นตอนนี้ คุณเพียงแค่บอก Couchbase ว่าใช้โหมด recovery ไหน ไม่ได้เริ่ม recovery จริงๆ

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

ขั้นตอนที่ 9: เริ่มการกู้คืน

คลิก Rebalance เพื่อซิงค์โหนดที่อัปเกรดแล้วกลับเข้าคลัสเตอร์ ควรทำงานได้เร็วเพราะเป็น delta recovery ไม่ใช่ full recovery

ภาพต่อไปนี้แสดงความคืบหน้าของการกู้คืน:

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

หลังจาก rebalance เสร็จสิ้น โหนดจะกลายเป็นสีเขียวใน Couchbase Web Console และกลับมาซิงค์ในคลัสเตอร์แล้ว คุณยังเห็นเวอร์ชันอัปเกรดเป็น 5.5 ตามภาพด้านล่าง:

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

สังเกตในภาพต่อไปนี้ ว่าโหนดหนึ่งในคลัสเตอร์อยู่บนเวอร์ชัน 5.1.0 และอีกโหนดอยู่บนเวอร์ชัน 5.5.0:

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

ขั้นตอนที่ 10: อัปเกรด node-1

ตอนนี้คุณอัปเกรด node-2 สำเร็จแล้ว คุณต้องอัปเกรด node-1 ก่อนอื่น ให้เข้าสู่ระบบ Couchbase Web Console ของ node-2 ในฐานะ Administrator และทำซ้ำขั้นตอนที่ 5 ถึง 9 สำหรับเซิร์ฟเวอร์ node-1

ภาพต่อไปนี้แสดง Couchbase Web Console หลังจากการอัปเกรดและกู้คืนของ node-1 เสร็จสิ้น:

อัปเกรด Couchbase Server แบบ Rolling อย่างง่ายดายด้วย Graceful Failover

สังเกตตัวเลือกใหม่สองตัวในเมนูด้านซ้าย ซึ่งเป็นใหม่ใน Version 5.5.0:

  • Analytics: เปิดใช้งานการรันคิวรี SQL ที่คุ้นเคยโดยใช้ N1QL สำหรับ analytics

  • Eventing: เปิดใช้งานการสร้างฟังก์ชันฝั่งเซิร์ฟเวอร์ ซึ่งถูกทริกเกอร์โดยใช้โมเดล Event-Condition-Action

สรุป

วิธี graceful failover และ delta recovery เป็นตัวเลือกที่ยอดเยี่ยมสำหรับการอัปเกรด Rolling ของ Couchbase สำหรับคลัสเตอร์ฐานข้อมูลขนาดใหญ่ที่ครอบคลุมหลายโหนด การกู้คืนแบบเต็มรูปแบบของแต่ละโหนดที่อัปเกรดอาจเป็นปัญหาใหญ่ ด้วยการ failover แบบ graceful Couchbase ให้เราเลือกที่จะเพิ่มโหนดที่อัปเกรดแล้วกลับมาโดยการซิงค์เฉพาะการเปลี่ยนแปลงที่เกิดขึ้นระหว่างการอัปเกรด ซึ่งใช้เวลาน้อยกว่าอย่างมาก

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

เพื่อใช้ประโยชน์สูงสุดจากวิธีนี้ การอัปเกรดควรดำเนินการในช่วงนอกชั่วโมงเร่งด่วน ซึ่งจะแก้ปัญหาข้อเสียเดียวของวิธีนี้ (ความพร้อมใช้งานสูงลดลง) และเร่งการอัปเกรด เพราะ delta changes จะน้อยกว่ามากในช่วงนอกชั่วโมงเร่งด่วน

ใช้แท็บ Feedback เพื่อแสดงความคิดเห็นหรือถามคำถาม

เรียนรู้เพิ่มเติมเกี่ยวกับบริการฐานข้อมูลของเรา