ส่วนนี้จะให้คำแนะนำทั่วไปสำหรับการปรับขนาดการทำงานของ Cassandra โดยทำให้ Cassandra ใน Apigee Edge สำหรับ Private Cloud ทราบถึงแร็ก
ดูข้อมูลเพิ่มเติมเกี่ยวกับความสำคัญของการทำให้ Cassandra Ring ทราบถึงแร็กได้จากแหล่งข้อมูลต่อไปนี้
- Replication (เอกสารประกอบของ Cassandra)
- Cassandra Architecture & Replication Factor Strategy
แร็คคืออะไร
แร็ก Cassandra คือการจัดกลุ่มเชิงตรรกะของโหนด Cassandra ภายในริง Cassandra ใช้แร็กเพื่อให้แน่ใจว่ามีการกระจายตัวจำลองไปยังการจัดกลุ่มเชิงตรรกะต่างๆ ด้วยเหตุนี้ ระบบจึงส่งการดำเนินการไปยังโหนดหลายโหนด ไม่ใช่แค่โหนดเดียว โดยแต่ละโหนดจะอยู่บนแร็กแยกต่างหาก ซึ่งช่วยให้คงทนต่อความเสียหายและมีความพร้อมใช้งานมากขึ้น
ตัวอย่างในส่วนนี้ใช้แร็ก Cassandra 3 แร็ก ซึ่งเป็นจำนวนแร็กที่ Apigee รองรับในโทโพโลยีเวอร์ชันที่ใช้งานจริง
การติดตั้ง Cassandra ใน Apigee Edge สำหรับ Private Cloud โดยค่าเริ่มต้นจะถือว่ามีแร็กเชิงตรรกะเดียวและวางโหนดทั้งหมดในศูนย์ข้อมูลไว้ภายในแร็กนั้น แม้ว่าการกำหนดค่านี้จะติดตั้งและจัดการได้ง่าย แต่ก็อาจเกิดความล้มเหลวได้หากการดำเนินการล้มเหลวในโหนดใดโหนดหนึ่ง
รูปภาพต่อไปนี้แสดงการกำหนดค่าเริ่มต้นของวงแหวน Cassandra
ในการกำหนดค่าที่มีประสิทธิภาพมากขึ้น ระบบจะกำหนดโหนดแต่ละโหนดให้กับแร็กแยกต่างหาก และการดำเนินการจะทำงานในตัวจำลองบนแร็กแต่ละแร็กด้วย
รูปภาพต่อไปนี้แสดงวงแหวน 3 โหนด รูปภาพนี้แสดงลำดับการจำลองการดำเนินการในวงแหวน (ตามเข็มนาฬิกา) และไฮไลต์ข้อเท็จจริงที่ว่าไม่มีโหนด 2 โหนดอยู่บนแร็กเดียวกัน
ในการกำหนดค่านี้ ระบบจะส่งการดำเนินการไปยังโหนด แต่จะส่งไปยังตัวจำลองของโหนดนั้นในแร็กอื่นๆ ด้วย (ตามลำดับเข็มนาฬิกา)
เพิ่มการรับรู้แร็ก (ที่มี 3 โหนด)
โทโพโลยีการติดตั้งเวอร์ชันที่ใช้งานจริงทั้งหมดของ Apigee Edge สำหรับ Private Cloud มีโหนด Cassandra อย่างน้อย 3 โหนด ซึ่งส่วนนี้จะเรียกว่า "IP1", "IP2" และ "IP3" โดยค่าเริ่มต้น โหนดแต่ละโหนดจะอยู่ในแร็กเดียวกันคือ "ra-1"
ส่วนนี้จะอธิบายวิธีมอบหมายโหนด Cassandra ให้แยกแร็กเพื่อให้การดำเนินการทั้งหมดถูกส่งไปยังโหนดจำลองในการจัดกลุ่มเชิงตรรกะที่แยกกันภายในริง
วิธีมอบหมายโหนด Cassandra ให้กับแร็กต่างๆ ระหว่างการติดตั้ง
- ก่อนเรียกใช้โปรแกรมติดตั้ง ให้เข้าสู่ระบบโหนด Cassandra และเปิดไฟล์การกำหนดค่าแบบไม่โต้ตอบต่อไปนี้เพื่อแก้ไข
/opt/silent.conf
สร้างไฟล์หากยังไม่มี และตรวจสอบว่าได้กำหนดให้ผู้ใช้ "apigee" เป็นเจ้าของ
- แก้ไขพร็อพเพอร์ตี้
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"
- เปลี่ยนการกำหนดแร็กเพื่อให้โหนด 2 ได้รับการกำหนดให้กับแร็ก 2 และโหนด 3 ได้รับการกำหนดให้กับแร็ก 3 ดังตัวอย่างต่อไปนี้
CASS_HOSTS="IP1:1,1 IP2:1,2 IP3:1,3"
การเปลี่ยนการกำหนดแร็คจะเป็นการสั่งให้ Cassandra สร้างการจัดกลุ่มเชิงตรรกะ (แร็ค) เพิ่มเติมอีก 2 กลุ่ม ซึ่งจะให้ตัวจำลองที่ได้รับการดำเนินการทั้งหมดที่โหนดแรกได้รับ
ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้พร็อพเพอร์ตี้การกำหนดค่า
CASS_HOSTSได้ที่ข้อมูลอ้างอิงไฟล์การกำหนดค่า Edge - บันทึกการเปลี่ยนแปลงในไฟล์การกำหนดค่า แล้วเรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้ง 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
- ทำขั้นตอนนี้ซ้ำสำหรับโหนด Cassandra แต่ละโหนดในวงแหวนตามลำดับที่กำหนดโหนดในพร็อพเพอร์ตี้
CASS_HOSTSในกรณีนี้ คุณต้องติดตั้ง Cassandra ตามลำดับต่อไปนี้- โหนด 1 (IP1)
- โหนด 2 (IP2)
- โหนด 3 (IP3)
หลังจากติดตั้งแล้ว คุณควรตรวจสอบการกำหนดค่า Cassandra
ตรวจสอบการกำหนดค่า Cassandra
หลังจากติดตั้งการกำหนดค่า Cassandra ที่รับรู้แร็กแล้ว คุณสามารถตรวจสอบว่ามีการกำหนดโหนดให้กับแร็กต่างๆ โดยใช้คำสั่ง nodetool status ดังตัวอย่างต่อไปนี้
/opt/apigee/apigee-cassandra/bin/nodetool status
(คุณเรียกใช้คำสั่งนี้ในโหนด Cassandra โหนดใดโหนดหนึ่ง)
ผลลัพธ์ควรมีลักษณะคล้ายกับตัวอย่างต่อไปนี้ โดยคอลัมน์ Rack จะแสดงรหัสแร็กที่แตกต่างกันสำหรับแต่ละโหนด
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 โหนดอยู่บนแร็กเดียวกัน
ในการกำหนดค่านี้ แต่ละโหนดจะมีตัวจำลองอีก 2 รายการ โดยอยู่ในแร็กอื่นๆ อีก 2 แร็ก แร็กละ 1 รายการ ตัวอย่างเช่น โหนด 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"
เช่นเดียวกับวงแหวน 3 โหนด คุณต้องติดตั้ง Cassandra ตามลำดับเดียวกับที่โหนดปรากฏในพร็อพเพอร์ตี้ CASS_HOSTS ดังนี้
- โหนด 1 (IP1)
- โหนด 4 (IP4)*
- โหนด 2 (IP2)
- โหนด 5 (IP5)
- โหนด 3 (IP3)
- Node 6 (IP6)
* ทำการเปลี่ยนแปลงในไฟล์การกำหนดค่าแบบไม่โต้ตอบก่อนเรียกใช้ยูทิลิตีการตั้งค่าในโหนดที่ 4 (เครื่องที่ 2 ในลำดับการติดตั้ง Cassandra)
ขยายเป็น 12 โหนด
หากต้องการเพิ่มความคงทนต่อความเสียหายและความพร้อมใช้งาน คุณสามารถเพิ่มจำนวนโหนด Cassandra ในริงจาก 6 เป็น 12 โหนดได้ การกำหนดค่านี้ต้องใช้โหนดเพิ่มเติม 6 โหนด (IP7 ถึง IP12)
รูปภาพต่อไปนี้แสดงลำดับการจำลองการดำเนินการในวงแหวน (ตามเข็มนาฬิกา) และไฮไลต์ข้อเท็จจริงที่ว่าในระหว่างการจำลอง ไม่มีโหนดที่อยู่ติดกัน 2 โหนดอยู่บนแร็กเดียวกัน
ขั้นตอนการติดตั้งวงแหวน 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 (IP1)
- Node 7 (IP7)*
- โหนด 4 (IP4)
- Node 8 (IP8)
- โหนด 2 (IP2)
- Node 9 (IP9)
- โหนด 5 (IP5)
- Node 10 (IP10)
- โหนด 3 (IP3)
- Node 11 (IP11)
- Node 6 (IP6)
- Node 12 (IP12)
* คุณต้องทำการเปลี่ยนแปลงเหล่านี้ก่อนติดตั้ง Apigee Edge สำหรับ Private Cloud ในโหนดที่ 7 (เครื่องที่ 2 ในลำดับการติดตั้ง Cassandra)