최근에 나는 elasticsearch
클러스터에 3 개의 데이터 노드로 구성된 snapshot
인덱스를 만들었습니다.클러스터를 통한 ElasticSearch 스냅 샷
내 주 목적은 다른 클러스터에서이 인덱스를 이동하는 것입니다.
명령은 내가 사용 :
PUT /_snapshot/my_backup
{
"type": "fs",
"settings": {
"location": "/home/me/backup",
"compress": true
}
}
PUT _snapshot/my_backup/snapshot_1?wait_for_completion=true
{
"indices": "daily-20141127"
}
참고 : 쿼리는 동일한 데이터 노드에서 실행 된 위. 해당 노드에서 백업 인덱스의 파편을 포함 : (인덱스 이름)
Snapshot
이 성공적으로 내가 쿼리이 백업 위치에있는 각 노드가 폴더를했다 명중 곳에서 다른 노드에 위의 위치에 있지만 년에 만들어졌습니다.
예 :
노드 1 : 집/나/my_backup/인덱스/1,2,3
노드 2 : 홈/ME/my_backup/인덱스/4,5,6
노드 3 : 홈/ME/my_backup/인덱스/7,8,9
그래서 클러스터를 통해 모든 인덱스 폴더를 스냅 샷의 메타 데이터가있는 노드에 수동으로 복사하여 백업을 완료해야했습니다. 그런 다음 백업 폴더를 새 클러스터에 복사하고 복원했습니다 (복원 절차는 정상입니다).
백업 색인의 모든 색인 폴더는 클러스터를 통해 분할되지 않고 1 개의 노드에 있습니까?
나는 잠시 지났지 만, 왜 이것이 또한 localhost에도 해당되는지 궁금합니다. 나는 ES가 파일을 만들 수 없다고 주장하는 문제에 직면 해있다. 오류가 계속 "이 설정이 비어 있기 때문에 path.repo에 지정된 위치와 일치하지 않습니다."라고 말하면서 아직 내 elasticsearch.yml에 경로가 있습니다. – JChao
@JChao 각 노드에 지정된 경로가 있습니까? –
이봐,이게 해결 됐어. 문제는 내 어리 석고 입력 된 path.repo로 인해 경로, repo ...... – JChao