เพิ่มการรองรับชั้นวาง Cassandra

ส่วนนี้จะให้คำแนะนำทั่วไปเกี่ยวกับการปรับขนาดการดำเนินการของ Cassandra โดยทำให้ Cassandra ใน Apigee Edge สำหรับแร็คของ Private Cloud

โปรดดูแหล่งข้อมูลต่อไปนี้เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับเหตุผลที่การทำให้ชั้นวางแหวน Cassandra ให้ความสำคัญ

แร็คคืออะไร

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

ตัวอย่างในส่วนนี้ใช้ชั้นวางของ Cassandra จำนวน 3 ชั้น ซึ่งเป็นจำนวนชั้นวางที่ Apigee สนับสนุนในโทโพโลยีการผลิต

การติดตั้งเริ่มต้นของ Cassandra ใน Apigee Edge สำหรับ Private Cloud จะถือว่าชั้นวางเชิงตรรกะเดียวและวางโหนดทั้งหมดไว้ภายในศูนย์ข้อมูล แม้ว่าการกำหนดค่านี้จะติดตั้งและจัดการได้ง่าย แต่ก็มีแนวโน้มที่จะล้มเหลวหากการดำเนินการล้มเหลวในโหนดใดโหนดหนึ่งเหล่านั้น

รูปภาพต่อไปนี้แสดงการกำหนดค่าเริ่มต้นของแหวน Cassandra

1 แร็คที่มี 3 โหนด
(ภาพที่ 1) การกำหนดค่าเริ่มต้น: โหนดทั้งหมดในชั้นเดียว

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

รูปภาพต่อไปนี้แสดงวงแหวน 3 โหนด รูปภาพนี้แสดงลำดับการจำลองการดำเนินการในวงกลม (ตามเข็มนาฬิกา) และไฮไลต์ข้อเท็จจริงที่ว่าไม่มีโหนด 2 โหนดอยู่บนชั้นเดียวกัน

3 แร็ค โดยมี 1 โหนดในชั้นแต่ละชั้น
(ภาพที่ 2) การกำหนดค่าที่คำนึงถึงแร็ค: 3 โหนด โดยแต่ละโหนดอยู่ในแร็คแต่ละชั้น

ในการกำหนดค่านี้ ระบบจะส่งการดำเนินการไปยังโหนด แต่จะส่งไปยังตัวจำลองของโหนดนั้นบนชั้นวางอื่นด้วย (ตามลำดับตามเข็มนาฬิกา)

เพิ่มการรับรู้ถึงชั้น (มี 3 โหนด)

โทโพโลยีการติดตั้งเวอร์ชันที่ใช้งานจริงทั้งหมดของ Apigee Edge สำหรับ Private Cloud มีโหนด Cassandra อย่างน้อย 3 โหนด ซึ่งส่วนนี้หมายถึง "IP1", "IP2" และ "IP3" โดยค่าเริ่มต้น แต่ละโหนดจะอยู่ในชั้นเดียวกัน "ra-1"

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

วิธีกำหนดโหนด Cassandra ให้กับชั้นวางต่างๆ ระหว่างการติดตั้ง

  1. ก่อนเรียกใช้โปรแกรมติดตั้ง ให้เข้าสู่ระบบโหนด Cassandra และเปิดไฟล์การกำหนดค่าเงียบต่อไปนี้เพื่อแก้ไข
    /opt/silent.conf

    สร้างไฟล์หากยังไม่มีและกำหนดให้ผู้ใช้ "Apigee" เป็นเจ้าของ

  2. แก้ไขพร็อพเพอร์ตี้ CASS_HOSTS ซึ่งเป็นรายการที่อยู่ IP ที่คั่นด้วยช่องว่าง (ไม่ใช่รายการ DNS หรือชื่อโฮสต์) ซึ่งใช้ไวยากรณ์ต่อไปนี้
    CASS_HOSTS="IP_address:data_center_number,rack_number [...]"

    ค่าเริ่มต้นจะเป็นแหวน Cassandra ที่มี 3 โหนดซึ่งกำหนดแต่ละโหนดให้กับชั้น 1 และศูนย์ข้อมูล 1 ตามตัวอย่างต่อไปนี้

    CASS_HOSTS="IP1:1,1 IP2:1,1 IP3:1,1"
  3. เปลี่ยนการกำหนดแร็คเพื่อให้กำหนดโหนด 2 ไปยังชั้น 2 และโหนด 3 ให้กับแร็ค 3 ตามตัวอย่างต่อไปนี้
    CASS_HOSTS="IP1:1,1 IP2:1,2 IP3:1,3"

    การเปลี่ยนการกำหนดชั้นวางเป็นการสั่งให้ Cassandra สร้างการจัดกลุ่มเชิงตรรกะ (ชั้นวาง) เพิ่มเติม 2 รายการ ซึ่งจะระบุตัวจำลองที่ได้รับการดำเนินการทั้งหมดที่โหนดแรกได้รับ

    ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้พร็อพเพอร์ตี้การกำหนดค่า CASS_HOSTS ได้ที่ข้อมูลอ้างอิงไฟล์การกำหนดค่า Edge

  4. บันทึกการเปลี่ยนแปลงไปยังไฟล์การกำหนดค่าและเรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้ง Cassandra ด้วยการกำหนดค่าที่อัปเดต
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f path/to/silent/config

    เช่น

    /opt/apigee/apigee-setup/bin/setup.sh -p c -f /opt/silent.conf
  5. ทำขั้นตอนนี้ซ้ำสำหรับโหนด Cassandra แต่ละรายการในริง ตามลำดับที่กำหนดโหนดในพร็อพเพอร์ตี้ CASS_HOSTS ในกรณีนี้ คุณต้องติดตั้ง Cassandra ตามลำดับต่อไปนี้
    1. โหนด 1 (IP1)
    2. โหนด 2 (IP2)
    3. โหนด 3 (IP3)

หลังจากติดตั้งแล้ว คุณควรตรวจสอบการกำหนดค่า Cassandra

ตรวจสอบการกำหนดค่า Cassandra

หลังจากติดตั้งการกำหนดค่า Cassandra แบบ Rack-Aware แล้ว คุณตรวจสอบได้ว่ามีการกำหนดโหนดให้กับชั้นวางต่างๆ หรือไม่โดยใช้คำสั่ง nodetool status ตามตัวอย่างต่อไปนี้

/opt/apigee/apigee-cassandra/bin/nodetool status

(คุณเรียกใช้คำสั่งนี้บนโหนด Cassandra โหนดใดโหนดหนึ่ง)

ผลลัพธ์ควรมีลักษณะคล้ายกับตัวอย่างต่อไปนี้ ซึ่งคอลัมน์แร็คจะแสดงรหัสแร็คที่ต่างกันสำหรับแต่ละโหนด

Datacenter: dc-1
========================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address         Load       Tokens  Owns    Host ID                             Rack
UN  IP1   737 MB  256     ?     554d4498-e683-4a53-b0a5-e37a9731bc5c     ra-1
UN  IP2   744 MB  256     ?     cf8b7abf-5c5c-4361-9c2f-59e988d52da3     ra-2
UN  IP3   723 MB  256     ?     48e0384d-738f-4589-aa3a-08dc5bd5a736     ra-3

หากเปิดใช้การตรวจสอบสิทธิ์ JMX สำหรับ Cassandra คุณต้องส่งชื่อผู้ใช้และรหัสผ่านไปยัง nodetool ด้วย ดูข้อมูลเพิ่มเติมได้ที่ใช้ Nodetool เพื่อจัดการโหนดของคลัสเตอร์

ติดตั้งแหวน 6 โหนด

หากต้องการสำรองข้อมูลเพิ่มเติม ให้ขยายวงแหวน Cassandra เป็น 6 โหนด ในกรณีนี้ คุณต้องกำหนด 2 โหนดให้กับชั้นวางทั้ง 3 ชั้น การกำหนดค่านี้ต้องมีโหนดเพิ่มเติม 3 โหนด ได้แก่ โหนด 4 (IP4), โหนด 5 (IP5) และโหนด 6 (IP6)

รูปภาพต่อไปนี้แสดงลำดับการดำเนินการจำลองรอบวงแหวน (ตามเข็มนาฬิกา) และไฮไลต์ข้อเท็จจริงที่ว่าในระหว่างการจำลอง ไม่มีโหนด 2 โหนดที่อยู่ติดกันบนชั้นเดียวกัน

3 แร็ค โดยมี 2 โหนดในชั้นแต่ละชั้น
(รูปที่ 3) วงแหวน Cassandra แบบ 6 โหนด: 2 โหนดบนแต่ละชั้น จาก 3 ชั้น

ในการกำหนดค่านี้ แต่ละโหนดจะมีตัวจำลองอีก 2 รายการ โดยรายการหนึ่งอยู่ในชั้นวางอีก 2 ชั้น เช่น โหนด 1 ในชั้น 1 มีการจำลองในชั้น 2 และชั้น 3 การดำเนินการที่ส่งไปยังโหนด 1 ก็จะส่งไปยังตัวจำลองในชั้นอื่นๆ ตามลำดับตามเข็มนาฬิกาด้วย

หากต้องการขยายวงแหวน Cassandra แบบ 3 โหนดเป็นวงแหวน Cassandra แบบ 6 โหนด ให้กำหนดค่าโหนดตามวิธีต่อไปนี้ในไฟล์การกำหนดค่าแบบไม่มีเสียง

CASS_HOSTS="IP1:1,1 IP4:1,3 IP2:1,2 IP5:1,1 IP3:1,3 IP6:1,2"

คุณต้องติดตั้ง Cassandra ในลำดับเดียวกันกับที่โหนดปรากฏในพร็อพเพอร์ตี้ CASS_HOSTS เช่นเดียวกับวงแหวน 3 โหนด

  1. โหนด 1 (IP1)
  2. โหนด 4 (IP4)*
  3. โหนด 2 (IP2)
  4. โหนด 5 (IP5)
  5. โหนด 3 (IP3)
  6. โหนด 6 (IP6)

* ทำการเปลี่ยนแปลงในไฟล์การกำหนดค่าแบบเงียบก่อนเรียกใช้ยูทิลิตีการตั้งค่าในโหนดที่ 4 (เครื่องที่ 2 ในคำสั่งซื้อการติดตั้ง Cassandra)

ขยายเป็น 12 โหนด

หากต้องการเพิ่มความสามารถในการยอมรับข้อผิดพลาดและความพร้อมใช้งาน ให้เพิ่มจำนวนโหนดของ Cassandra ในวงแหวนจาก 6 เป็น 12 การกำหนดค่านี้ต้องมีโหนดเพิ่มเติม 6 โหนด (IP7 ถึง IP12)

รูปภาพต่อไปนี้แสดงลำดับการดำเนินการจำลองรอบวงแหวน (ตามเข็มนาฬิกา) และไฮไลต์ข้อเท็จจริงที่ว่าในระหว่างการจำลอง ไม่มีโหนด 2 โหนดที่อยู่ติดกันบนชั้นเดียวกัน

3 แร็ค แต่ละชั้นมี 4 โหนด
(รูปที่ 4) วงแหวน Cassandra แบบ 12 โหนด: 4 โหนดบนชั้นวางทั้ง 3 ชั้น

ขั้นตอนการติดตั้งแหวน 12 โหนดจะคล้ายกับการติดตั้งแหวนโหนด 3 หรือ 6 โหนด โดยตั้งค่า CASS_HOSTS เป็นค่าที่ระบุและเรียกใช้โปรแกรมติดตั้งตามลำดับที่ระบุ

หากต้องการขยายเป็นวงแหวน Cassandra แบบ 12 โหนด ให้กำหนดค่าโหนดในไฟล์การกำหนดค่าแบบเงียบดังต่อไปนี้

CASS_HOSTS="IP1:1,1 IP7:1,2 IP4:1,3 IP8:1,1 IP2:1,2 IP9:1,3 IP5:1,1 IP10:1,2 IP3:1,3 IP11:1,1 IP6:1,2 IP12:1,3"

เช่นเดียวกับวงแหวน 3 และ 6 โหนด คุณต้องเรียกใช้โปรแกรมติดตั้งบนโหนดตามลำดับที่โหนดจะปรากฏในไฟล์การกำหนดค่า

  1. โหนด 1 (IP1)
  2. โหนด 7 (IP7)*
  3. โหนด 4 (IP4)
  4. โหนด 8 (IP8)
  5. โหนด 2 (IP2)
  6. โหนด 9 (IP9)
  7. โหนด 5 (IP5)
  8. โหนด 10 (IP10)
  9. โหนด 3 (IP3)
  10. โหนด 11 (IP11)
  11. โหนด 6 (IP6)
  12. โหนด 12 (IP12)

* คุณต้องทำการเปลี่ยนแปลงเหล่านี้ก่อนติดตั้ง Apigee Edge สำหรับ Private Cloud บนโหนดที่ 7 (เครื่องที่ 2 ในคำสั่งซื้อการติดตั้ง Cassandra)