Apache Cassandra 유지보수 작업

이 섹션에서는 Cassandra의 주기적 유지보수 작업을 설명합니다.

안티엔트로피 유지관리

Apache Cassandra 링 노드는 모든 노드에서 일관성을 보장하기 위해 정기적인 유지보수가 필요합니다. 이 유지보수를 수행하려면 다음 명령어를 사용합니다.

nodetool -h localhost repair -pr

이 명령어를 실행할 때 Apigee에서는 다음을 권장합니다.

  • 모든 리전 또는 데이터 센터에 걸쳐 모든 Cassandra 노드에서 실행됩니다.
  • 링에 있는 모든 노드에서 일관성을 보장하기 위해 한 번에 하나의 노드에서 실행합니다.
  • 워크로드가 상대적으로 낮은 기간 동안 실행됩니다 (이 도구는 시스템에 상당한 부하를 가함).
  • Cassandra의 '잊혀진 삭제'와 관련된 문제를 제거하려면 최소 7일마다 실행합니다.
  • 다른 날에 다른 노드에서 실행하거나 각 노드에서 몇 시간씩 실행되도록 예약할 수 있습니다.
  • -pr 옵션 (파티션 나누기 범위)을 사용하여 노드의 기본 파티션 나누기 범위만 지정합니다.

Cassandra에 JMX 인증을 사용 설정한 경우 nodetool를 호출할 때 사용자 이름과 비밀번호를 포함해야 합니다. 예를 들면 다음과 같습니다.

nodetool -u username -pw password -h localhost repair -pr

자세한 내용은 다음 리소스를 참조하세요.

로그 파일 유지관리

Cassandra 로그는 각 노드의 /opt/apigee/var/log/cassandra 디렉터리에 저장됩니다. 기본적으로 최대 20MB의 로그 파일을 최대 50개까지 만들 수 있습니다. 이 한도에 도달하면 최신 로그가 만들어지면 이전 로그가 삭제됩니다.

Cassandra 로그 파일이 과도한 공간을 차지하는 경우 log4j 설정을 수정하여 로그 파일에 할당된 공간을 수정하면 됩니다.

  1. /opt/apigee/customer/application/cassandra.properties를 수정하여 다음 속성을 설정합니다. 이 파일이 없으면 다음과 같이 만듭니다.
    conf_logback_maxfilesize=20MB
    # max file size
    conf_logback_maxbackupindex=50 # max open files
  2. 다음 명령어를 사용하여 Cassandra를 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart