[Elasticsearch] Cluster 설정 중 rack 과 zone 알아보기.
Elastic/Elasticsearch 2013. 4. 23. 16:36본 문서는 개인적인 테스트와 elasticsearch.org 그리고 community 등을 참고해서 작성된 것이며,
정보 교환이 목적입니다.
잘못된 부분에 대해서는 지적 부탁 드립니다.
(예시 코드는 성능 및 보안 검증이 되지 않았습니다.)
[elasticsearch API 리뷰]
원문 링크 : http://www.elasticsearch.org/guide/reference/modules/cluster/
cluster 세팅 중 위 문서에 아래와 같은 설정이 있습니다.
Shard Allocation Awareness
sharding 과 replica 설정에 따라 clustering 환경에서 어떻게 배치 시킬것인지 관리 할 수 있도록 해주는 추가 설정 입니다.
즉, 특정 노드로 shard 를 배치 시키거나 replica 가 되도록 합니다.
아래는 이해를 돕기 위한 설정 예제 입니다.
[Rack 설정 예제]
- 1 cluster, 4 nodes
[node 공통]
cluster.name: cluster_a
cluster.routing.allocation.awareness.attributes: rack_id
[node 1]
node.rack_id: rack_1
node.name: node_1
[node 2]
node.rack_id: rack_2
node.name: node_2
[node 3]
node.rack_id: rack_1
node.name: node_3
[node 4]
node.rack_id: rack_2
node.name: node_4
[Zone 설정 예제]
- 1 cluster, 2 nodes
[node 공통]
cluster.name: cluster_a
cluster.routing.allocation.awareness.force.zone.values: zone_1, zone_2
cluster.routing.allocation.awareness.attributes: zone
[node 1]
node.zone: zone_1
node.name: node_1
[node 2]
node.zone: zone_1
node.name: node_2
※ Rack 의 경우 서로 다른 Rack 위치한 node 들에 대한 분산설정으로 같은 IDC 내 서로 다른 rack 이나 IDC 간 HA 구성이 가능 합니다.
※ Zone 의 경우 특정 zone 으로 동일 데이터가 몰려 SPOF 를 예방하기 위한 구성으로 사용이 가능 합니다.
직접 해보시면 쉽게 이해가 됩니다. :)