2016-08-03 7 views
3

야간에 내 ES 클러스터 (5 개의 데이터 노드, 3 개의 마스터 노드로 구성)에 문제가 발생했습니다.ElasticSearch가 "읽기 전용"모드로 노드를 변경할 수 없습니다.

솔직히 무슨 일이 있었는지 전혀 모르겠지만 모든 색인과 데이터가 삭제되었고 클러스터가 "읽기 전용"모드로 들어갔을 가능성이 해킹 당했습니까?

다음 내가 얻을 Kiban 실행려고 : kibana

시도 다시 시작 키바는 - 그것은 아무것도 변경되지, 다시 시작됩니다. Elastic 재시작 시도 - 모든 노드가 다시 시작되었지만 아무 것도 변경되지 않았습니다.

내가 다음 클러스터 설정을 살펴했고 이것이 내가 가진 무엇 :

{ 
    "persistent": { 
    "cluster": { 
     "routing": { 
     "allocation": { 
      "enable": "all" 
     } 
     }, 
     "blocks": { 
     "read_only": "true" 
     } 
    } 
    }, 
    "transient": { 
    "cluster": { 
     "routing": { 
     "allocation": { 
      "enable": "all" 
     } 
     } 
    } 
    } 
} 

내가 취소하려 읽기 전용 다음과 같이

PUT _cluster/settings 
{ 
    "persistent": { 
    "blocks.read_only": false 
    } 
} 

당신이 볼 수있는 행운 :

{ 
    "error": { 
    "root_cause": [ 
     { 
     "type": "cluster_block_exception", 
     "reason": "blocked by: [FORBIDDEN/6/cluster read-only (api)];" 
     } 
    ], 
    "type": "cluster_block_exception", 
    "reason": "blocked by: [FORBIDDEN/6/cluster read-only (api)];" 
    }, 
    "status": 403 
} 

아이디어가 있으십니까?

업데이트 : Andrei Stefan이 해결 한 문제 - 이제 더 중요한 부분 - 왜요? 무슨 일이 일어 났으며 그 이유는 무엇입니까? 모든 데이터가 손실되었으며 클러스터가 읽기 전용 모드로 전환되었습니다.

+0

확인할 수 있습니까? – Val

+0

@Val Checked, 어떤 노드에도 존재하지 않습니다. – Orz

답변

2

올바른 명령은 다음과 같습니다 당신의`elasticsearch.yml` 파일에서 TRUE '설정 : 당신은`blocks.read_only이있는 경우

PUT /_cluster/settings 
{ 
    "persistent" : { 
    "cluster.blocks.read_only" : false 
    } 
} 
+0

고마워요! 그게 효과, 나는 다른 스키마와 함께 10 번 시도 했어 .. – Orz

+0

'curl -u 탄성 : changeme -XPUT 'localhost : 9200/_cluster/settings'-H 'Content-Type : application/json'-d '{ "persistent "{{"{{cluster.blocks.read_only ": false}} '불행히도 나를 위해 일하지 못했습니다 :(그것은 읽기 전용 속성을 변경하지만 : {{"인정 ": true,"persistent ": {"cluster " : { "blocks": { "read_only": "false"}}}, "transient": {}}' – Rambatino