cassandra-rackdc.properties 파일
cassandra-rackdc.properties 파일
여러 snitch 옵션은 cassandra-rackdc.properties 구성 파일을 사용해 클러스터 노드가 어떤 datacenters와 racks에 속하는지 결정해요. 네트워크 토폴로지 정보를 알면 요청을 효율적으로 라우팅하고 레플리카를 고르게 분산할 수 있어요. 여기에서 다음 스니치를 구성할 수 있어요.
본문
- GossipingPropertyFileSnitch
- AWS EC2 single-region snitch
- AWS EC2 multi-region snitch
프로덕션에는 GossipingPropertyFileSnitch를 권장해요. 이 스니치는 로컬 노드의 cassandra-rackdc.properties 파일에 구성된 데이터센터와 랙 정보를 사용하고, gossip을 통해 그 정보를 다른 노드로 전파해요. 기본 스니치이며 이 properties 파일의 설정이 활성화돼 있어요.
AWS EC2 스니치는 AWS의 클러스터용으로 구성돼요. 이 스니치는 cassandra-rackdc.properties 옵션을 사용해 두 가지 AWS EC2 데이터센터/랙 명명 규칙 중 하나를 지정해요:
- legacy: Availability zone 이름에서 마지막 "-" 앞부분이 데이터센터 이름이에요. zone이 -1로 끝나면 숫자를 제외하고, -1이 아니면 숫자를 포함해요. 랙 이름은 마지막 "-" 뒤의 부분이에요.
- 예:
us-west-1a⇒ dc: us-west, rack: 1a;us-west-2b⇒ dc: us-west-2, rack: 2b
- 예:
- standard: 데이터센터 이름은 숫자를 포함한 표준 AWS 리전 이름이에요. 랙 이름은 리전 + availability zone 문자예요.
- 예:
us-west-1a⇒ dc: us-west-1, rack: us-west-1a;us-west-2b⇒ dc: us-west-2, rack: us-west-2b
- 예:
어느 스니치든, 다중 데이터센터 간 통신이 필요하지 않을 때 로컬 또는 내부 IP 주소를 사용하도록 설정할 수 있어요.
GossipingPropertyFileSnitch
dc
데이터센터의 이름이에요. 값은 대소문자를 구분해요.
기본값: DC1
rack
랙 지정이에요. 값은 대소문자를 구분해요.
기본값: RAC1
AWS EC2 snitch
ec2_naming_scheme
데이터센터와 랙 명명 규칙이에요. 옵션은 legacy 또는 standard(기본값)예요. 이 옵션은 기본적으로 주석 처리되어 있어요.
기본값: standard
참고: PRE-4.0 클러스터를 업그레이드한다면 반드시
legacy값을 사용해야 해요.
어느 스니치든 (Either snitch)
prefer_local
통신이 서로 다른 데이터센터 간이 아닐 때 로컬 또는 내부 IP 주소를 사용할지 여부예요. 이 옵션은 기본적으로 주석 처리되어 있어요.
기본값: true