[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 를 예방하기 위한 구성으로 사용이 가능 합니다.


직접 해보시면 쉽게 이해가 됩니다. :)

: