Cassandra 구성

이 문서에서는 Private Cloud용 Apigee Edge 버전 4.53.00 이상에 포함된 Cassandra 4.0.X의 구성을 다룹니다. 여기에 설명된 구성을 실행하는 방법에 관한 자세한 내용은 부록 섹션을 참고하세요.

가비지 수집기 구성

CMS 사용으로 전환

기본적으로 Apigee는 Cassandra 4.X에 권장되는 G1 가비지 컬렉터와 함께 Cassandra를 제공합니다. 그러나 다양한 사용 사례와 자체 인프라의 경우(예: 프라이빗 클라우드용 Edge) CMS 가비지 컬렉터로 전환할 수 있습니다. 힙 크기가 8GB를 초과하는 경우 Apigee는 G1GC를 사용하는 것이 좋습니다.

CMS 가비지 컬렉터를 사용하려면 다음 구성을 설정합니다.

conf_jvm_options_gc_type=cms

G1 가비지 컬렉터를 사용하도록 되돌리려면 이 구성을 삭제합니다.

CMS 가비지 수집기 설정 수정

Apigee는 CMS 가비지 컬렉터의 기본 매개변수를 제공합니다. 이 매개변수는 Cassandra에서 CMS를 사용할 때 적용됩니다. 이러한 매개변수를 변경하려면 구성 conf_jvm_options_cms_gc_setting_lines을 사용하세요. CMS GC와 관련된 모든 JVM 매개변수를 '\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를 사용합니다. G1 GC와 관련된 모든 JVM 매개변수를 단일 줄에 '\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 설정 사용

G1GC와 CMS 모두에 대해 Apigee의 모든 사전 설정을 무시하려면 다음 구성을 설정하세요.

conf_jvm_options_gc_type=custom

conf_jvm_options_custom_settings에서 JVM의 모든 GC 설정을 지정하고 각 설정을 '\n'으로 구분합니다.

예:

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

힙 크기 구성

Apigee에서는 힙 공간이 8GB 이하인 상태에서 Cassandra를 운영하는 것이 좋습니다. 힙 크기를 8GB로 제한하는 검사는 $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh에 있습니다.

수동으로 검사를 사용 중지하지 않고 자체 힙 크기를 지정하려면 구성 conf_jvm_options_custom_settings을 사용하세요. 각 설정을 '\n'으로 구분합니다.

예:

conf_jvm_options_custom_settings=-Xmx8G\n-Xms8G

일반 JVM 설정 구성

Cassandra에 JVM 매개변수를 추가하려면 구성 conf_jvm_options_custom_settings의 경우 모든 JVM 구성을 '\n'으로 구분된 단일 줄에 지정합니다.

예:

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는 Cassandra JVM에 다양한 매개변수를 전달할 수 있습니다. 여러 Java 매개변수를 단일 구성으로 결합하고 '\n'으로 구분합니다.

예:

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