Định cấu hình Cassandra

Tài liệu này trình bày cấu hình của Cassandra 4.0.X, có trong Apigee Edge cho phiên bản đám mây riêng tư 4.53.00 trở lên. Hãy tham khảo phần phụ lục để biết thông tin chi tiết về cách thực hiện các cấu hình được mô tả ở đây.

Cấu hình bộ thu gom rác

Chuyển sang sử dụng CMS

Theo mặc định, Apigee sẽ vận chuyển Cassandra bằng Trình thu gom rác G1 (được đề xuất cho Cassandra 4.X). Tuy nhiên, đối với nhiều trường hợp sử dụng và cơ sở hạ tầng của riêng bạn, như trong Edge cho đám mây riêng, bạn có thể chọn chuyển sang Trình thu gom rác CMS. Đối với kích thước vùng nhớ khối xếp lớn hơn 8 GB, Apigee khuyên bạn nên sử dụng G1GC.

Để sử dụng Bộ thu gom rác CMS, hãy thiết lập cấu hình sau:

conf_jvm_options_gc_type=cms

Để quay lại sử dụng Bộ thu gom rác G1, hãy xoá cấu hình này.

Sửa đổi chế độ cài đặt bộ thu gom rác CMS

Apigee cung cấp các tham số mặc định cho Trình thu gom rác CMS. Các tham số này áp dụng khi Cassandra sử dụng CMS. Để thay đổi các tham số này, hãy sử dụng cấu hình conf_jvm_options_cms_gc_setting_lines. Đặt tất cả các tham số JVM liên quan cho CMS GC trong một dòng, phân tách bằng “\n”.

Ví dụ:

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

Sửa đổi chế độ cài đặt bộ thu gom rác G1GC

Apigee cung cấp các thông số mặc định cho Bộ thu gom rác G1. Các thông số này áp dụng khi bạn bật G1GC mặc định. Nếu bạn chuyển sang CMS, các chế độ cài đặt này sẽ không áp dụng. Để thay đổi các tham số G1GC, hãy sử dụng cấu hình conf_jvm_options_g1_gc_setting_lines. Đặt tất cả các tham số JVM liên quan cho G1 GC trong một dòng, phân tách bằng “\n”.

Ví dụ:

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

Sử dụng chế độ cài đặt GC của riêng bạn

Để bỏ qua tất cả các chế độ cài đặt trước của Apigee cho cả G1GC và CMS, hãy thiết lập các cấu hình sau:

conf_jvm_options_gc_type=custom

Chỉ định tất cả chế độ cài đặt GC cho JVM trong conf_jvm_options_custom_settings, phân tách từng chế độ cài đặt bằng “\n”.

Ví dụ:

conf_jvm_options_gc_type=custom
conf_jvm_options_custom_settings=-XX:+UseParallelGC\n-XX:GCTimeRatio=19

Định cấu hình kích thước vùng nhớ khối xếp

Apigee đặc biệt khuyến nghị bạn vận hành Cassandra với không gian vùng nhớ khối xếp không quá 8 GB. Các bước kiểm tra để giới hạn kích thước vùng nhớ khối xếp ở mức 8 GB nằm trong $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh.

Để chỉ định kích thước vùng nhớ khối xếp của riêng bạn mà không cần tắt các bước kiểm tra theo cách thủ công, hãy sử dụng cấu hình conf_jvm_options_custom_settings. Phân tách từng chế độ cài đặt bằng "\n".

Ví dụ:

conf_jvm_options_custom_settings=-Xmx8G\n-Xms8G

Định cấu hình chế độ cài đặt chung của JVM

Để thêm các tham số JVM vào Cassandra, hãy chỉ định tất cả cấu hình JVM trong một dòng, phân tách bằng "\n" cho cấu hình conf_jvm_options_custom_settings.

Ví dụ:

conf_jvm_options_custom_settings=-Dcassandra.start_rpc=true\n-Dcassandra.expiration_date_overflow_policy=CAP\n-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures

Phụ lục

Cách thiết lập bất kỳ cấu hình Cassandra nào

  1. Tạo hoặc chỉnh sửa tệp ghi đè cấu hình Cassandra:
    vi $APIGEE_ROOT/customer/application/cassandra.properties
  2. Thêm, xoá hoặc sửa đổi dòng cấu hình nếu cần.
  3. Lưu tệp và đảm bảo người dùng "apigee" sở hữu và có thể đọc tệp đó:
    chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
  4. Khởi động lại dịch vụ Cassandra trên nút:
    apigee-service apigee-cassandra restart
  5. Lặp lại các bước này trên từng nút Cassandra.

Nhiều loại cấu hình

Cấu hình conf_jvm_options_custom_settings có thể truyền nhiều tham số đến JVM Cassandra. Kết hợp nhiều tham số Java vào một cấu hình và phân tách bằng "\n".

Ví dụ:

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