เมื่อเพิ่มโหนด Cassandra ลงในคลัสเตอร์ คุณควรพิจารณา 2 ประเด็นสำคัญต่อไปนี้
- ตำแหน่งที่มีอยู่ของโหนดในวงแหวน Cassandra ไม่ควรเปลี่ยนแปลงเพื่อลดการสตรีมและรักษาวงแหวนให้สมดุล
- จำนวนโหนดในศูนย์ข้อมูลทั้งหมดต้องสอดคล้องกัน
คุณต้องเพิ่มจำนวนโหนดในคลัสเตอร์ Cassandra เป็น 2 เท่าทุกครั้งที่เพิ่มโหนดใหม่เพื่อให้บรรลุวัตถุประสงค์แรก
ตัวอย่างเช่น หากคุณเริ่มต้นด้วยโทโปโลยีการติดตั้งคลัสเตอร์ 12 โหนดมาตรฐานที่กระจายอยู่ในศูนย์ข้อมูล 2 แห่ง คุณจะมีโหนด Cassandra รวม 6 โหนด โดยแบ่งเป็น 3 โหนดในแต่ละศูนย์ข้อมูล หากต้องการขยายคลัสเตอร์นี้ คุณควรเพิ่มโหนด 3 ตัวในแต่ละศูนย์ข้อมูล ซึ่งจะทำให้มีจำนวนโหนดทั้งหมด 12 ตัว (6 ตัวในแต่ละศูนย์ข้อมูล) หากจำเป็นต้องขยายการให้บริการเพิ่มเติม คุณควรเพิ่มโหนดอีก 6 โหนดในแต่ละศูนย์ข้อมูล ซึ่งจะทำให้มีจำนวนโหนดทั้งหมด 24 โหนด (12 โหนดในแต่ละศูนย์ข้อมูล)
เอกสารนี้จะแสดงวิธีการเพิ่มโหนด Cassandra ใหม่ 3 โหนดลงในการติดตั้ง Edge for Private Cloud ที่มีอยู่ คุณทําตามขั้นตอนเดียวกันเพื่อเพิ่มโหนดอื่นๆ ได้ โปรดตรวจสอบทุกครั้งว่าเมื่อขยายคลัสเตอร์ คุณจะเพิ่มจำนวนโหนดเป็น 2 เท่า
ดูรายการข้อกำหนดของระบบสำหรับโหนด Cassandra ได้ที่ส่วนข้อกำหนดในการติดตั้ง
การกำหนดค่า Edge ที่มีอยู่
โทโปโลยี Edge ที่รองรับทั้งหมดสำหรับระบบเวอร์ชันที่ใช้งานจริงจะระบุให้ใช้โหนด Cassandra 3 โหนด โหนด 3 รายการนี้ระบุไว้ในพร็อพเพอร์ตี้ CASS_HOSTS
ในไฟล์การกําหนดค่าดังที่แสดงด้านล่าง
IP1=10.10.0.1 IP2=10.10.0.2 IP3=10.10.0.3 HOSTIP=$(hostname -i) ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt MSIP=$IP1 USE_LDAP_REMOTE_HOST=n LDAP_TYPE=1 APIGEE_LDAPPW=secret MP_POD=gateway REGION=dc-1 ZK_HOSTS="$IP1 $IP2 $IP3" ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com SMTPPASSWORD=smtppwd
โปรดทราบว่าพร็อพเพอร์ตี้ REGION
ระบุชื่อภูมิภาคเป็น "dc-1" คุณต้องใช้ข้อมูลดังกล่าวเมื่อเพิ่มโหนด Cassandra ใหม่
การแก้ไขไฟล์การกําหนดค่าเพื่อเพิ่มโหนด Cassandra ใหม่ 3 โหนด
ในตัวอย่างนี้ โหนด Cassandra ใหม่ 3 โหนดอยู่ที่ที่อยู่ IP ต่อไปนี้
- 10.10.0.14
- 10.10.0.15
- 10.10.0.16
คุณต้องอัปเดตไฟล์การกําหนดค่า Edge ก่อนเพื่อเพิ่มโหนดใหม่ โดยทําดังนี้
IP1=10.10.0.1 IP2=10.10.0.2 IP3=10.10.0.3 # Add the new node IP addresses. IP14=10.10.0.14 IP15=10.10.0.15 IP16=10.10.0.16 HOSTIP=$(hostname -i) ADMIN_EMAIL=opdk@google.com ... # Update CASS_HOSTS to add each new node after an existing nodes. # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP14:1,1 $IP2:1,1 $IP15:1,1 $IP3:1,1 $IP16:1,1"
วิธีนี้ช่วยให้มั่นใจได้ว่าโหนดที่มีอยู่จะยังคงการตั้งค่าโทเค็นเริ่มต้นไว้ และโทเค็นเริ่มต้นของโหนดใหม่แต่ละโหนดจะอยู่ในช่วงค่าโทเค็นของโหนดที่มีอยู่
กำหนดค่า Edge
หลังจากแก้ไขไฟล์การกําหนดค่าแล้ว คุณต้องทําดังนี้
- กำหนดค่าโหนด Cassandra ที่มีอยู่อีกครั้ง
- ติดตั้ง Cassandra ในโหนดใหม่
- กำหนดค่าเซิร์ฟเวอร์การจัดการอีกครั้ง
กำหนดค่าโหนด Cassandra ที่มีอยู่อีกครั้ง
ในโหนด Cassandra ที่มีอยู่ ให้ทำดังนี้
- เรียกใช้ setup.sh อีกครั้งด้วยโปรไฟล์ "-p c" และไฟล์การกําหนดค่าใหม่
/opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
ติดตั้ง Cassandra ในโหนดใหม่
ใช้ขั้นตอนด้านล่างเพื่อติดตั้ง Cassandra ในโหนดใหม่
ในโหนด Cassandra ใหม่แต่ละโหนด ให้ทำดังนี้
- ติดตั้ง Cassandra ในโหนด 3 โหนด ดังนี้
- ติดตั้ง
apigee-setup
ในโหนดแรกตามที่อธิบายไว้ในติดตั้งยูทิลิตี apigee-setup ของ Edge - ติดตั้ง Cassandra ในโหนดแรกโดยใช้ไฟล์การกําหนดค่าที่อัปเดตแล้ว โดยทําดังนี้
/opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
- ทำขั้นตอนที่ 2 และ 3 ซ้ำสำหรับโหนด Cassandra ใหม่ที่เหลือ
- ติดตั้ง
- สร้างโหนด Cassandra ใหม่ 3 โหนด โดยระบุชื่อภูมิภาคเป็นศูนย์ข้อมูลที่คุณจะเพิ่มโหนด (
dc-1
,dc-2
และอื่นๆ) ในตัวอย่างนี้dc-1
มีค่าดังนี้- ในโหนดแรก ให้เรียกใช้คำสั่งต่อไปนี้
/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h nodeIP rebuild dc-1
โดยที่ nodeIP คือที่อยู่ IP ของโหนด Cassandra
คุณจะต้องส่งชื่อผู้ใช้และรหัสผ่านก็ต่อเมื่อเปิดใช้การตรวจสอบสิทธิ์ JMX สําหรับ Cassandra เท่านั้น
- ทำขั้นตอนนี้ซ้ำกับโหนด Cassandra ใหม่ที่เหลือ
- ในโหนดแรก ให้เรียกใช้คำสั่งต่อไปนี้
กำหนดค่าเซิร์ฟเวอร์การจัดการอีกครั้ง
ในโหนดเซิร์ฟเวอร์การจัดการ
- เรียกใช้ setup.sh อีกครั้งเพื่ออัปเดตเซิร์ฟเวอร์การจัดการสำหรับโหนด Cassandra ที่เพิ่มใหม่
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile
รีสตาร์ทเราเตอร์และโปรแกรมประมวลผลข้อความทั้งหมด
- ในเราเตอร์ทุกรุ่น ให้ทำดังนี้
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- ใน Message Processor ทั้งหมด
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
เพิ่มพื้นที่ว่างในดิสก์ของโหนด Cassandra ที่มีอยู่
หลังจากเพิ่มโหนดใหม่แล้ว คุณสามารถใช้คำสั่ง nodetool cleanup
ในโหนดที่มีอยู่เพื่อเพิ่มพื้นที่ว่างในดิสก์ คำสั่งนี้จะล้างโทเค็นการกําหนดค่าที่โหนด Cassandra ที่มีอยู่ก่อนหน้านี้ไม่ได้เป็นเจ้าของแล้ว
หากต้องการเพิ่มพื้นที่ว่างในดิสก์ของโหนด Cassandra ที่มีอยู่ก่อนเพิ่มโหนดใหม่ ให้เรียกใช้คำสั่งต่อไปนี้
/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup
คุณจะต้องส่งชื่อผู้ใช้และรหัสผ่านก็ต่อเมื่อเปิดใช้การตรวจสอบสิทธิ์ JMX สําหรับ Cassandra เท่านั้น
ยืนยันการสร้างใหม่
ใช้คำสั่งต่อไปนี้เพื่อยืนยันว่าการสร้างใหม่สำเร็จ
nodetool [-u username -pw password] -h nodeIP netstats
คำสั่งนี้จะระบุว่าการขนส่งแบบเนทีฟ (หรือโปรโตคอลไบนารี) ทำงานอยู่หรือไม่ ซึ่งจะช่วยให้ Cassandra ยอมรับคำขอไคลเอ็นต์ใหม่ได้
nodetool [-u username -pw password] -h nodeIP statusbinary
คำสั่งนี้จะระบุว่าการขนส่งแบบเนทีฟ (หรือโปรโตคอลไบนารี) ทำงานอยู่หรือไม่
nodetool [-u username -pw password] -h nodeIP describecluster
คำสั่งนี้จะแสดงว่าโหนดใหม่ใช้สคีมาเวอร์ชันเดียวกับโหนดเก่าหรือไม่
ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ nodetool
ได้ที่เอกสารประกอบการใช้งาน nodetool