elasticsearch.yml을 고치고 재시작하지 않아도, api를 통해 cluster setting을 수정할 수 있다.
얼마전에 cluster setting값을 수정할일이 있어 문서를 찾아보니,
es는 진짜 가이드문서가 잘 나와있다.
https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html
get /_cluster/settings?include_defaults=true 으로 살펴보면
cluster setting 값들이 나온다.
setting값의 영역이 'persistent', 'transient', 'default' 로 나뉘는데,
default는 우리가 수정할 수 있는건 아니다.
default에 나와있는 설정값중에 수정할 부분을 persistent나 transient에 수정하면된다.
persistent에 수정을 하면 클러스터를 재시작해도 설정이 유지된다.
transient에 수정을 하면 클러스터가 재시작되면 설정이 사라지고, 원복된다.
즉, es cluster에서 설정값이 transient->persistent->defaults 순의 우선순위를 갖게되는 것이다.
1. 예를 들어, node를 재시작할때 샤드 route를 피하기 위해 아래와 같이 잠시 설정을 none으로 바꿀때는 transient에 변경.
PUT /_cluster/settings
{
"transient": {
"cluster.routing.allocation.enable": "all"
}
}
2. node를 재시작해도 설정을 유지하고 싶으면 persistent에 변경.
PUT /_cluster/settings
{
"persistent": {
"search.default_allow_partial_results": "false"
}
}
3. default 영역은 설정파악할때 참고용.
나는 계속 default영역에 바꾸려고.. 이렇게 삽질을 ㅠ.ㅠ
json에서 "default": { } 여기에 바로 update하는거 아니고, 참고용이고
transient, persistent 에 업뎃하세요~
{
"default" : {
"search": {
xxx_xxx_xx : "false"
}
}
}
'우리는 개발자 > Data Engineering' 카테고리의 다른 글
[elasticsearch] nested type, nested type aggregation. (0) | 2020.01.11 |
---|---|
[elasticsearch] fielddata, doc_values에 대한 이해. (0) | 2020.01.11 |
[elasticsearch] java heap memory 설정 하기 + es node 재시작. (0) | 2019.12.18 |
[elasticsearch] kibana 설치, 연동하기 + filebeat설치하기. (2) | 2019.12.17 |
data lake / datawarehouse / data mart 의 뜻 (0) | 2019.09.06 |