กำหนดค่า Cassandra

เอกสารนี้ครอบคลุมการกําหนดค่า Cassandra 4.0.X ซึ่งรวมอยู่ใน Apigee Edge สําหรับ Private Cloud เวอร์ชัน 4.53.00 ขึ้นไป โปรดดูรายละเอียดเกี่ยวกับการดําเนินการกําหนดค่าที่อธิบายไว้ที่นี่ในส่วนภาคผนวก

การกําหนดค่าโปรแกรมเก็บขยะ

เปลี่ยนไปใช้ CMS

โดยค่าเริ่มต้น Apigee จะจัดส่ง Cassandra พร้อม Garbage Collector ของ G1 ซึ่งแนะนำสำหรับ Cassandra 4.X อย่างไรก็ตาม สำหรับกรณีการใช้งานที่หลากหลายและโครงสร้างพื้นฐานของคุณเอง เช่น ใน Edge สำหรับระบบคลาวด์ส่วนตัว คุณอาจเลือกเปลี่ยนไปใช้ CMS Garbage Collector สำหรับขนาดฮีปที่มากกว่า 8 GB Apigee ขอแนะนําอย่างยิ่งให้ใช้ G1GC

หากต้องการใช้เครื่องมือเก็บขยะของ CMS ให้ตั้งค่าต่อไปนี้

conf_jvm_options_gc_type=cms

หากต้องการเปลี่ยนกลับไปใช้ Garbage Collector ของ G1 ให้นำการกําหนดค่านี้ออก

แก้ไขการตั้งค่าเครื่องมือเก็บขยะของ CMS

Apigee มีพารามิเตอร์เริ่มต้นสําหรับเครื่องมือเก็บขยะ 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 มีพารามิเตอร์เริ่มต้นสําหรับเครื่องมือเก็บขยะ 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

  1. สร้างหรือแก้ไขไฟล์การลบล้างการกําหนดค่า Cassandra โดยทําดังนี้
    vi $APIGEE_ROOT/customer/application/cassandra.properties
  2. เพิ่ม นําออก หรือแก้ไขบรรทัดการกําหนดค่าตามต้องการ
  3. บันทึกไฟล์และตรวจสอบว่าผู้ใช้ "apigee" เป็นเจ้าของและอ่านไฟล์ได้ โดยทำดังนี้
    chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
  4. รีสตาร์ทบริการ Cassandra ในโหนด โดยทำดังนี้
    apigee-service apigee-cassandra restart
  5. ทำขั้นตอนเหล่านี้ซ้ำในโหนด Cassandra แต่ละโหนดทีละโหนด

การกําหนดค่าประเภทต่างๆ

การกําหนดค่า conf_jvm_options_custom_settings สามารถส่งพารามิเตอร์ต่างๆ ไปยัง JVM ของ Cassandra ได้ รวมพารามิเตอร์ Java ต่างๆ ไว้ในการกําหนดค่าเดียวและคั่นด้วย "\n"

ตัวอย่าง

conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G