cassandra-env.sh 파일
cassandra-env.sh 파일
cassandra-env.sh bash 스크립트 파일은 환경에 설정하는 대신 Java 가상 머신(JVM)에 최대 및 최소 힙 크기 같은 추가 옵션을 전달하는 데 사용될 수 있어요. JVM 설정이 정적이고 노드 특성에서 계산할 필요가 없다면 cassandra-jvm-options 파일을 대신 사용해야 해요. 예를 들어 일반적으로 계산되는 값은 시스템 값을 사용한 힙 크기예요.
본문
예를 들어 cassandra-env.sh 파일에 JVM_OPTS="$JVM_OPTS -Dcassandra.load_ring_state=false"를 추가하고 명령줄 cassandra를 실행해 시작해요. 이 옵션은 cassandra-env.sh 파일에서 설정되며, 명령줄 옵션 cassandra -Dcassandra.load_ring_state=false로 Cassandra를 시작하는 것과 동등해요.
-D 옵션은 명령줄과 cassandra-env.sh 파일 모두에서 시작 파라미터를 지정해요. 다음 옵션을 사용할 수 있어요.
cassandra.auto_bootstrap=false
클러스터 초기 설정에서 auto_bootstrap을 false로 설정하는 것을 용이하게 해요. 다음에 클러스터를 시작할 때 각 노드의 cassandra.yaml 파일을 기본값인 true로 되돌리기 위해 변경할 필요가 없어요.
cassandra.available_processors=<number_of_processors>
멀티 인스턴스 배포에서 여러 Cassandra 인스턴스는 독립적으로 모든 CPU 프로세서를 사용할 수 있다고 가정해요. 이 설정은 더 작은 프로세서 집합을 지정할 수 있게 해 줘요.
cassandra.config=<directory>
cassandra.yaml 파일의 디렉터리 위치예요. 기본 위치는 설치 유형에 따라 달라져요.
cassandra.ignore_dynamic_snitch_severity=true|false
이 속성을 true로 설정하면 동적 스니치가 노드 스코어링 시 gossip의 심각도 표시기를 무시하게 해요. 자세한 내용은 실패 감지 및 복구와 동적 스니칭을 살펴보세요.
기본값: false
cassandra.initial_token=<token>
가상 노드(vnodes)를 사용하지 않을 때 사용해요. 노드가 처음 시작될 때 노드의 초기 파티셔너 토큰을 설정해요. 참고: vnode는 토큰을 자동으로 선택하므로 매우 권장돼요.
기본값: 비활성
cassandra.join_ring=true|false
false로 설정하면 노드에서 Cassandra를 시작하지만 노드가 클러스터에 합류하지 않게 해요. 그런 다음 nodetool join과 JMX 호출을 사용해 링에 합류할 수 있어요.
기본값: true
cassandra.load_ring_state=true|false
false로 설정하면 재시작 시 노드의 모든 gossip 상태를 지워요.
기본값: true
cassandra.partitioner=<partitioner>
파티셔너를 설정해요.
기본값: org.apache.cassandra.dht.Murmur3Partitioner
cassandra.prepared_statements_cache_size_in_bytes=<cache_size>
준비된 문(Prepared Statements)의 캐시 크기를 설정해요.
cassandra.replace_address=<listen_address of dead node>|<broadcast_address of dead node>
죽은 노드를 교체하려면 그 자리에 새 노드를 재시작하면서 새 노드가 인계할 listen_address 또는 broadcast_address를 지정해요. 새 노드의 데이터 디렉터리에 데이터가 없어야 하며, 부트스트래핑 전의 상태와 동일해야 해요. 참고: broadcast_address는 Ec2MultiRegionSnitch를 사용할 때를 제외하면 기본적으로 listen_address로 설정돼요.
cassandra.replayList=<table>
아카이빙된 커밋 로그에서 특정 테이블을 복원할 수 있게 해 줘요.
cassandra.ring_delay_ms=<number_of_ms>
노드가 공식적으로 링에 합류하기 전에 다른 노드로부터 소식을 듣기 위해 기다리는 시간을 정의해요.
기본값: 1000ms
cassandra.native_transport_port=<port>
CQL 네이티브 전송이 클라이언트를 위해 수신하는 포트를 설정해요.
기본값: 9042
cassandra.rpc_port=<port>
클라이언트 연결에 사용되는 Thrift RPC 서비스의 포트를 설정해요.
기본값: 9160
cassandra.storage_port=<port>
노드 간 통신을 위한 포트를 설정해요.
기본값: 7000
cassandra.ssl_storage_port=<port>
암호화 통신을 위한 SSL 포트를 설정해요.
기본값: 7001
cassandra.start_native_transport=true|false
네이티브 전송 서버를 활성화하거나 비활성화해요. cassandra.yaml의 start_native_transport 참조.
기본값: true
cassandra.start_rpc=true|false
Thrift RPC 서버를 활성화하거나 비활성화해요.
기본값: true
cassandra.triggers_dir=<directory>
트리거 JAR의 기본 위치를 설정해요.
기본값: conf/triggers
cassandra.write_survey=true
새 컴팩션 및 압축 전략을 테스트하기 위한 것이에요. 프로덕션 워크로드에 영향을 주지 않고 다양한 전략을 실험하고 쓰기 성능 차이를 벤치마킹할 수 있게 해 줘요.
consistent.rangemovement=true|false
true로 설정하면 Cassandra가 일관성을 위반하지 않고 안전하게 부트스트랩을 수행하게 해요. false는 이를 비활성화해요.