เอกสารนี้ครอบคลุมการกำหนดค่าของ Cassandra 3.11.X ซึ่งมาพร้อมกับ Apigee Edge สำหรับ Private Cloud เวอร์ชัน 4.52.02 ขึ้นไป โปรดดูส่วนภาคผนวกสำหรับรายละเอียดเกี่ยวกับการกำหนดค่าที่อธิบายไว้ที่นี่
การกำหนดค่าเครื่องมือรวบรวมขยะ
เปลี่ยนไปใช้ CMS
โดยค่าเริ่มต้น Apigee จะจัดส่ง Cassandra ด้วย G1 Garbage Collector ซึ่งแนะนำสำหรับ Cassandra 3.X อย่างไรก็ตาม คุณอาจเลือกเปลี่ยนไปใช้ CMS Garbage Collector ได้ในกรณีที่มี Use Case ที่แตกต่างกันและโครงสร้างพื้นฐานของคุณเอง เช่น Edge สำหรับ Private Cloud สำหรับฮีปที่มีขนาดใหญ่กว่า 8 GB Apigee ขอแนะนำเป็นอย่างยิ่งให้ใช้ G1GC
หากต้องการใช้ CMS Garbage Collector ให้กำหนดค่าต่อไปนี้
conf_jvm_options_gc_type=cms
หากต้องการเปลี่ยนกลับไปใช้เครื่องมือเก็บขยะ G1 ให้นำการกำหนดค่านี้ออก
แก้ไขการตั้งค่าเครื่องมือรวบรวมขยะ CMS
Apigee จะมีพารามิเตอร์เริ่มต้นสำหรับ Garbage Collector ของ CMS พารามิเตอร์เหล่านี้จะมีผลเมื่อ Cassandra ใช้ CMS หากต้องการเปลี่ยนพารามิเตอร์เหล่านี้ ให้ใช้การกำหนดค่า conf_jvm_options_cms_gc_setting_lines
ตั้งค่าพารามิเตอร์ JVM ที่เกี่ยวข้องทั้งหมดสําหรับ CMS GC ในบรรทัดเดียวโดยคั่นด้วย "\n"
ตัวอย่าง
conf_jvm_options_cms_gc_setting_lines=-XX:+UseParNewGC\n-XX:+UseConcMarkSweepGC\n-XX:+CMSParallelRemarkEnabled\n-XX:SurvivorRatio=8\n-XX:MaxTenuringThreshold=1\n-XX:CMSInitiatingOccupancyFraction=75\n-XX:+UseCMSInitiatingOccupancyOnly\n-XX:CMSWaitDuration=10000\n-XX:+CMSParallelInitialMarkEnabled\n-XX:+CMSEdenChunksRecordAlways\n-XX:+CMSClassUnloadingEnabled
แก้ไขการตั้งค่าเครื่องมือเก็บขยะ G1GC
Apigee จะใช้พารามิเตอร์เริ่มต้นสำหรับ Garbage Collector ของ G1 พารามิเตอร์เหล่านี้จะมีผลเมื่อเปิดใช้ G1GC เริ่มต้น หากคุณเปลี่ยนไปใช้ CMS การตั้งค่าเหล่านี้จะไม่มีผล หากต้องการเปลี่ยนพารามิเตอร์ G1GC ให้ใช้การกำหนดค่า conf_jvm_options_g1_gc_setting_lines
ตั้งค่าพารามิเตอร์ JVM ที่เกี่ยวข้องทั้งหมดสําหรับ G1 GC ในบรรทัดเดียวโดยคั่นด้วย "\n"
ตัวอย่าง
conf_jvm_options_g1_gc_setting_lines=-XX:+UseG1GC\n-XX:G1RSetUpdatingPauseTimePercent=5\n-XX:MaxGCPauseMillis=500\n-XX:InitiatingHeapOccupancyPercent=50\n-XX:ParallelGCThreads=8\n-XX:ConcGCThreads=8\n-XX:+ParallelRefProcEnabled\n-XX:MaxTenuringThreshold=1\n-XX:G1HeapRegionSize=32m\n-XX:G1ReservePercent=15
ใช้การตั้งค่า GC ของคุณเอง
หากต้องการละเว้นค่าที่กำหนดล่วงหน้าทั้งหมดของ Apigee สำหรับทั้ง G1GC และ CMS ให้ตั้งค่าการกำหนดค่าต่อไปนี้
conf_jvm_options_gc_type=custom
ระบุการตั้งค่า GC ทั้งหมดสำหรับ JVM ใน conf_jvm_options_custom_settings
โดยแยกการตั้งค่าแต่ละรายการด้วย “\n”
ตัวอย่าง
conf_jvm_options_gc_type=custom
conf_jvm_options_custom_settings=-XX:+UseParallelGC\n-XX:GCTimeRatio=19
การกำหนดค่าขนาดฮีป
Apigee ขอแนะนำเป็นอย่างยิ่งให้ใช้ Cassandra ที่มีพื้นที่ฮีปไม่เกิน 8 GB การตรวจสอบเพื่อจำกัดขนาดฮีปไว้ที่ 8 GB จะอยู่ใน $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh
หากต้องการระบุการปรับขนาดฮีปของคุณเองโดยไม่ต้องปิดใช้การตรวจสอบด้วยตนเอง ให้ใช้การกำหนดค่า conf_jvm_options_custom_settings
แยกการตั้งค่าแต่ละรายการด้วย "\n"
ตัวอย่าง
conf_jvm_options_custom_settings=-Xmx8G\n-Xms8G
การกำหนดการตั้งค่า JVM ทั่วไป
หากต้องการเพิ่มพารามิเตอร์ JVM ไปยัง Cassandra ให้ระบุการกำหนดค่า JVM ทั้งหมดในบรรทัดเดียวโดยคั่นด้วย "\n" สำหรับการกำหนดค่า conf_jvm_options_custom_settings
ตัวอย่าง
conf_jvm_options_custom_settings=-Dcassandra.start_rpc=true\n-Dcassandra.expiration_date_overflow_policy=CAP\n-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures
ภาคผนวก
วิธีตั้งค่าการกำหนดค่า Cassandra
- สร้างหรือแก้ไขไฟล์ลบล้างการกำหนดค่า Cassandra
vi $APIGEE_ROOT/customer/application/cassandra.properties
- เพิ่ม นำออก หรือแก้ไขบรรทัดการกำหนดค่าตามที่จำเป็น
- บันทึกไฟล์และตรวจสอบว่าผู้ใช้ "Apigee" เป็นเจ้าของและอ่านไฟล์ได้โดยทำดังนี้
chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
- รีสตาร์ทบริการ Cassandra บนโหนด
apigee-service apigee-cassandra restart
- ทำขั้นตอนเหล่านี้ซ้ำในแต่ละโหนด Cassandra ทีละรายการ
การกำหนดค่าประเภทต่างๆ
การกำหนดค่า conf_jvm_options_custom_settings
ส่งพารามิเตอร์ต่างๆ ไปยัง Cassandra JVM ได้ รวมพารามิเตอร์ Java ต่างๆ ไว้ในการกำหนดค่าเดียวและคั่นด้วย "\n"
ตัวอย่าง
conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G