เมื่อเพิ่มโหนด Cassandra ไปยังคลัสเตอร์ คุณต้องพิจารณาประเด็นสำคัญ 2 ประการต่อไปนี้
- ตำแหน่งที่มีอยู่ของโหนดในวงแหวน Cassandra ไม่ควรเปลี่ยนแปลงเพื่อลดการสตรีมและคงวงแหวนที่สมดุล
- จำนวนโหนดในศูนย์ข้อมูลทั้งหมดต้องสอดคล้องกัน
เพื่อให้บรรลุวัตถุประสงค์แรก คุณต้องเพิ่มจำนวนโหนดในคลัสเตอร์ Cassandra เป็น 2 เท่าทุกครั้งที่เพิ่มโหนดใหม่
ตัวอย่างเช่น หากคุณเริ่มต้นจากโทโพโลยีการติดตั้งคลัสเตอร์ 12 โหนดแบบมาตรฐานที่กระจายอยู่ในศูนย์ข้อมูล 2 แห่ง คุณจะมีโหนด Cassandra ทั้งหมด 6 โหนด โดย 3 โหนดในศูนย์ข้อมูลแต่ละแห่ง ในการขยายคลัสเตอร์นี้ คุณควรเพิ่มโหนด 3 โหนดให้กับศูนย์ข้อมูลแต่ละแห่ง โดยเพิ่มจำนวนโหนดทั้งหมดเป็น 12 โหนด (6 โหนดในศูนย์ข้อมูลแต่ละแห่ง) หากต้องมีการขยายเพิ่มเติม คุณควรเพิ่มโหนดอีก 6 โหนดให้กับศูนย์ข้อมูลแต่ละแห่ง ทำให้มีจำนวนโหนดทั้งหมดเท่ากับ 24 (12 โหนดในแต่ละศูนย์ข้อมูล)
เอกสารนี้ระบุวิธีการเพิ่มโหนด Cassandra ใหม่ 3 รายการไปยัง Edge สำหรับการติดตั้ง 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" profile และไฟล์การกำหนดค่าใหม่ดังนี้
/opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
ติดตั้ง Cassandra บนโหนดใหม่
ใช้ขั้นตอนด้านล่างเพื่อติดตั้ง Cassandra บนโหนดใหม่
ในแต่ละโหนด Cassandra ใหม่ ให้ทำดังนี้
- ติดตั้ง Cassandra บน 3 โหนดต่อไปนี้
- ติดตั้ง
apigee-setup
ใน โหนดแรกตามที่อธิบายไว้ใน ติดตั้งโหนด ยูทิลิตีการตั้งค่า Apigee ของ Edge - ติดตั้ง Cassandra ในโหนดแรกโดยใช้ไฟล์การกำหนดค่าที่อัปเดตแล้ว
/opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
- ทำซ้ำ 2 ขั้นตอนนี้กับโหนด 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
รีสตาร์ทเราเตอร์และ Messages ทั้งหมด ผู้ประมวลผลข้อมูล
- ในเราเตอร์ทั้งหมด
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- ในตัวประมวลผลข้อความทั้งหมด:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
เพิ่มพื้นที่ว่างในดิสก์ โหนดคาสซานดรา
หลังจากเพิ่มโหนดใหม่ คุณสามารถใช้คำสั่ง 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
คำสั่งนี้ควรระบุ MODE: Normal
เมื่อโหนดเริ่มทำงานและดัชนี
ของ Google
nodetool [-u username -pw password] -h nodeIP statusthrift
ควรระบุว่าเซิร์ฟเวอร์ของมือสองกำลังทำงานอยู่ ซึ่งทำให้ Cassandra รับไคลเอ็นต์ใหม่ได้ คำขอ
nodetool [-u username -pw password] -h nodeIP statusbinary
ควรระบุว่าการส่งแบบเนทีฟ (หรือ โปรโตคอลไบนารี) กำลังทำงานอยู่
nodetool [-u username -pw password] -h nodeIP describecluster
โหนดใหม่จะแสดงใช้สคีมาเวอร์ชันเดียวกับโหนดเก่า
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ nodetool
โปรดดู
เอกสารการใช้งาน Nodetool