Elasticsearch는clusterpersistent 업데이트를 어디에 저장했습니까?
9415 단어 elasticsearch
:
PUT _cluster/settings
{
"persistent" : {
"indices.store.throttle.type" : "merge",
"indices.store.throttle.max_bytes_per_sec" : "20mb"
}
}
그룹 파라미터를 오래 업데이트한다는 뜻입니다. 오래 지속되는 것이기 때문에 이 변경 사항을 어디에 저장했습니까?
elasticsearch.yml에는 이 두 개의 설정이 없지만 다시 시작하면 이 변경은 확실히 효력이 발생합니다.
[2016-01-19 18:22:49,500][INFO ][indices.store ] [elasticsearch_179] updating indices.store.throttle.type from [MERGE] to [merge]
[2016-01-19 18:22:49,500][INFO ][indices.store ] [elasticsearch_179] updating indices.store.throttle.max_bytes_per_sec from [20mb] to [20mb], note, type is [merge]
종료점을 다시 시작하면 업데이트되었음을 알릴 수 있습니다.
원래 이 파일은 아래 파일에 저장되어 있습니다.
{INSTALL_DIR}/data/{CLUSTER_NAME}/nodes/{N}/_state/global-{NNN}
INSTALL_DIR은 elasticsearch의 설치 디렉토리입니다. CLUSTER_NAME는 클러스터 이름 N 결점 번호입니다. (0은 이 시스템에 하나의 결점만 있음을 나타냅니다.) NNN은 클러스터 상태 파일 버전 번호입니다.
이 파일은 기본적으로 바이너리 형식입니다.elasticsearch에서 사용할 수 있습니다.yml 증가는 다음과 같습니다.
format: json
ES는 이것을 josn 형식으로 저장합니다.
이 파일에 무엇이 포함되어 있는지 살펴보자.
{
"meta-data": { "version": 7, "uuid": "MxNs_3pRRTa3eU4ZMbcI1A", "settings": { "indices.store.throttle.type": "merge", "indices.store.throttle.max_bytes_per_sec": "20mb" }, "templates": { "logstash": { "order": 0, "template": "logstash-*", "settings": { "index.refresh_interval": "5s" }, "mappings": [ { "_default_": { "_all": { "enabled": true, "omit_norms": true }, "dynamic_templates": [ { "message_field": { "match": "message", "match_mapping_type": "string", "mapping": { "type": "string", "index": "analyzed", "omit_norms": true } } }, { "string_fields": { "match": "*", "match_mapping_type": "string", "mapping": { "type": "string", "index": "analyzed", "omit_norms": true, "fields": { "raw": { "type": "string", "index": "not_analyzed", "ignore_above": 256 } } } } } ], "properties": { "@version": { "type": "string", "index": "not_analyzed" }, "geoip": { "type": "object", "dynamic": true, "properties": { "location": { "type": "geo_point" } } } } } } ], "aliases": {} } } } }
다음과 같은 두 가지 구성 항목을 보았습니다.
"settings": {
"indices.store.throttle.type": "merge",
"indices.store.throttle.max_bytes_per_sec": "20mb"
},
또한 지속적인 템플릿 설정이 있습니다.
"templates": {
"logstash": {
"order": 0,
"template": "logstash-*",
"settings": {
"index.refresh_interval": "5s"
},
이것은logstash가 ES에 추가한 템플릿 설정입니다. 메시지 필드에 대한 설정을 볼 수 있습니다. 다른 문자열 필드는 기본적으로 하위 필드raw를 추가합니다. 원래 필드가 analyzed를 거치지 않은 원시 값을 저장하는 데 사용됩니다.PUT _template/logstash의 템플릿도 이 파일에 저장됩니다.
Every time cluster state changes, all master-eligible nodes store the new version of the file, so during cluster restart the node that starts first and elects itself as a master will have the newest version of the cluster state. What you are describing could be possible if you updated the settings when one of your master-eligible nodes was not part of the cluster (and therefore couldn’t store the latest version with your settings) and after the restart this node became the cluster master and propagated its obsolete settings to all other nodes.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
kafka connect e elasticsearch를 관찰할 수 있습니다.No menu lateral do dashboard tem a opção de connectors onde ele mostra todos os clusters do kafka connect conectados atu...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.