2017-12-13 7 views
3

사육사, 내 zookeeper에 대한 동일한 백업 내 kafka의 좋은 방법입니다 알고 싶습니다. 난 그냥 S3 버킷에 내 데이터 디렉토리를 내보내 잠시 동안 백업/카프카을 복원하고 나는 <code>kafka</code>을 실행하는 간단한 <code>kafka</code> 3 노드와 <code>zookeeper</code> 5 노드를 실행하고

...

감사합니다.

+0

복제 모드에서 실행 중이므로. 백업으로 무엇을 의미합니까? – Abhimanyu

+1

내 카프카가 화상을 입는 데이터 센터라면 어떻게해야합니까? 내가 복제본을 가지고 있어도 백업하고 복원 할 수 있기를 원합니다. – starttter

+0

카프카의 메시지는 제한된 시간을 가지고 있습니다. 현재 상태를 저장하고 싶습니까, 아니면 포함 된 모든 데이터의 모든 기록 시리즈를 저장하고 싶습니까? 카프카에요? –

답변

1

잘란도는 최근에 꽤 좋은 기사 how to backup Kafka and Zookeeper을 게시했습니다. 일반적으로 Kafka 백업을위한 경로는 두 가지입니다.

  • 모든 주제가 복제되는 두 번째 카프카 클러스터를 유지 관리합니다. 이 설정을 확인하지는 않았지만 오프셋 항목도 복제 된 경우 다른 클러스터로 전환해도 소비자의 처리 상태가 손상되지 않아야합니다.
  • 클라우드 저장소로 주제를 덤프합니다 (예 : S3 커넥터를 사용하여 (Zalando에 설명 된대로). 복원하는 경우 항목을 다시 만들고 클라우드 저장소의 데이터로 피드를 만듭니다. 이렇게하면 특정 시점 복원을 할 수 있지만 처음부터 주제에서 읽어야합니다.

선호하는 백업 솔루션은 사용 사례에 따라 다릅니다. 예 : 스트리밍 응용 프로그램의 경우 첫 번째 솔루션은 고통을 덜어 줄 수 있지만 이벤트 소싱에는 Kafka를 사용할 때 두 번째 솔루션이 더 바람직 할 수 있습니다.

사육사와 관련하여 카프카는 주제 (영구 저장소)와 중개인 발견 및 리더 선거 (임시)에 대한 정보를 보관합니다. Zalando는 Zookeeper 트리 구조를 반복하고 파일 구조에 덤프하고 나중에 압축하여 클라우드 저장소로 푸시하는 Burry을 사용하여 정착했습니다. a little problem이 있지만 대부분 카프카의 영구 데이터 (TODO 확인)의 백업에는 영향을 미치지 않습니다. Zalando는 복원 할 때 Zookeeper 클러스터를 먼저 생성 한 다음 새로운 Kafka 클러스터에 새 고유 한 브로커 ID를 연결하고 Burry의 백업을 복원하는 것이 더 낫다고 설명합니다. Burry는 기존 노드를 덮어 쓰지 않고 이전 브로커에 대한 임시 정보를 저장하지 않으며 백업에 저장되는 내용을 덮어 쓰지 않습니다.

주 : 출품자의 사용에 대해서는 언급되어 있지만 Burry로 백업 할 때는 백업 할 필요가 없습니다.

관련 문제