[Elasticsearch] shard allocation 운영 테스트용 REST 코드 - 1.6.0 이상.
Elastic/Elasticsearch 2015. 7. 3. 13:59작성하고 보니 최신 내용을 반영할걸 이라는 후회가 밀려 오내요.
이전 글 http://jjeong.tistory.com/1034 이거는 사실 deprecated 예정입니다.
코드에도 명시되어 있어서.. ^^;;
아래 코드로 변경 합니다.
참고하세요.
curl -XPUT localhost:9200/_cluster/settings -d '{
"persistent" : {
"cluster.routing.allocation.enable" : "primaries",
"cluster.routing.allocation.allow_rebalance" : "indices_all_active",
"cluster.routing.allocation.cluster_concurrent_rebalance" : 2,
"cluster.routing.allocation.node_initial_primaries_recoveries" : 4,
"cluster.routing.allocation.node_concurrent_recoveries" : 2
}
}'
※ 위 값들은 default 값입니다. "primaries" 만 빼고요 ^^
상세 내용을 확인 하고 싶으신 분들은 아래 문서를 참고하시길 바랍니다.
https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-cluster.html#shards-allocation
그냥 넘어 갈라고 했지만...
▷ cluster.routing.allocation.allow_rebalance
설명에 있지만 이건 shard rebalance에 대한 설정 입니다.
아래 값들에 대한 조건일 때 rebalance 하겠다는 것으로 이해 하시면 됩니다.
always : 항상 할 거다.
indices_primaries_active : primary shard 가 올라 오면 할 거다.
indices_all_active : 전체 shard 가 올라 오면 할 거다.
당연히 indices_all_active 가 default 설정이 되겠죠.
▷ cluster.routing.allocation.cluster_concurrent_rebalance
클러스터를 통틀어서 동시에 rebalance 할 shard 수를 제한 하는 설정 입니다.
기본은 2개로 설정 되어 있습니다.
▷ cluster.routing.allocation.node_initial_primaries_recoveries
각 노드 당 primary shard recovery에 대한 초기 크기를 설정 하는 것입니다.
기본은 4개로 설정 되어 있습니다.
▷ cluster.routing.allocation.node_concurrent_recoveries
노드에서 동시에 수행할 recovery 크기를 설정 하는 것입니다.
▷ cluster.routing.allocation.enable
이게 이전에 deprecated 된 설정의 확장인데요. (위에 설정도 포함 이지만..)
shard 종류에 따라 어떻게 처리 할 것인지를 결정 하게 합니다.
all : 몽땅 다 하겠다.
primaries : primary shard 만 하겠다.
new_primaries : 새로 생성한 인덱스의 primary shard 만 하겠다.
none : 몽땅 다 안하겠다.
딱 보면 disable_allocation:true = primaries + none 정도로 보면 쉽쥬.
반대는 disable_allocation:false = all 정도로 보면 쉽쥬.