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

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับเหตุผลที่ทำให้ชั้นวางแหวน 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 ให้ rack 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 ที่รับรู้ได้ถึงระดับแร็คแล้ว คุณจะตรวจสอบได้ว่าโหนด ที่กำหนดให้กับชั้นวางต่างๆ โดยใช้คำสั่ง 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 มีการจำลองใน Rack 2 และ Rack 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:

  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) วงแหวนรูปคาสซานดรา 12 โหนด: 4 โหนดที่แต่ละโหนด ชั้นวาง

ขั้นตอนสำหรับการติดตั้งริงแบบ 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)