Định cấu hình Cassandra

Tài liệu này đề cập đến cấu hình của Cassandra 3.11.X, đi kèm với Apigee Edge cho Private Cloud phiên bản 4.52.02 trở lên. Tham khảo phần phụ lục để biết chi tiết về cách thực hiện các cấu hình được mô tả ở đây.

Cấu hình máy thu rác

Chuyển sang sử dụng Hệ thống quản lý nội dung (CMS)

Theo mặc định, Apigee gửi cho Cassandra đi kèm với G1 G1 Garbage Collector (nên dùng cho Cassandra 3.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, chẳng hạn như trong Edge dành cho Đám mây riêng tư, bạn có thể chọn chuyển sang Trình thu gom rác của CMS. Đối với kích thước vùng nhớ khối xếp lớn hơn 8 GB, Apigee bạn nên sử dụng G1GC.

Để sử dụng Trình thu gom rác CMS, hãy đặt cấu hình sau:

conf_jvm_options_gc_type=cms

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

Sửa đổi chế độ cài đặt trình thu gom rác của CMS

Apigee cung cấp các tham số mặc định cho Trình thu gom rác CMS. Các thông 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ả thông số JVM có liên quan cho CMS GC trong một dòng, phân tách bằng dấu "\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 trình thu gom rác G1GC

Apigee cung cấp các tham số mặc định cho Công cụ thu gom rác G1. Các thông số này áp dụng khi bạn bật G1GC theo mặc định. Nếu bạn chuyển sang Hệ thống quản lý nội dung (CMS) thì các chế độ cài đặt này sẽ không được á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 thông số JVM có liên quan cho G1 GC trong một dòng, phân tách bằng dấu "\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 mọi giá trị đặ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 khích bạn chạy Cassandra với không gian nhớ 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 tuỳ chọn 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 cách từng chế độ cài đặt bằng ký tự “\n”.

Ví dụ:

conf_jvm_options_custom_settings=-Xmx8G\n-Xms8G

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

Để thêm tham số JVM vào Cassandra, hãy chỉ định tất cả cấu hình JVM trong một dòng được phân tách bằng dấu "\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 đặt cấu hình Cassandra bất kỳ

  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 theo yêu cầu.
  3. Lưu tệp và đảm bảo rằng người dùng "api" sở hữu và có thể đọc đượ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 các tham số khác nhau đến Cassandra JVM. Kết hợp các thông số Java khác nhau thành một cấu hình duy nhất và phân tách bằng “\n”.

Ví dụ:

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