2016-09-12 3 views
1

5 개의 노드와 약 500 개의 항목으로 구성된 카프카 프로덕션 클러스터가 있습니다. Kafka는 자동 데이터 파티션 분할을 제공하지 않기 때문에 클러스터의 전체 7 개 노드에서 모든 주제를 재조정하기 위해 Kafka 배포본과 함께 kafka-reassign-partitions.sh을 실행하려고합니다. Kafka 파티션 재 할당 성능 영향

이미 내 클러스터에서 생산 많은 양의 데이터를 가지고 있기 때문에

  1. 내 카프카 주제에 대한 동시 쓰기이 스크립트 블록을 실행 것인가?
  2. 이 스크립트를 실행하면 클러스터/프로듀서/소비자 속도가 느려 집니까?
  3. 이 스크립트를 실행하는 동안 클러스터가 오작동을 일으킬 수있는 경우이 스크립트가 진행되는 동안 어떻게 중지시킬 수 있습니까?

현재 여러 생산자와 다수의 소비자가있는 Kafka v0.8.2.0을 사용하고 있습니다.

답변

4

무엇 카프카 - 재 할당 - 파티션 수행은 다음과 같습니다

  1. 과 같이 새로운 브로커에 새 복제본을 만들 필요
  2. 필요한 곳에 그들이 지도자
  3. 트리거 리더 선거를 잡을 때까지 데이터를 복제 되세요 어떤처럼 (

지도자 선거 단계가 쓰기를 지연시킬 필요

  • 삭제 복제 리더 페일 오버). 여분의 복제가 디스크 및 네트워크 리소스 (때로는 중요한 리소스)를 사용하기 때문에 소비자/생산자의 속도가 느려질 수 있습니다. 진행 중에는 중지 할 수 없습니다. 내 말은, 당신은 ZK에서 관련 노드를 삭제할 수 있지만 실제로 테스트되지 않았고 생성 된 새로운 복제본이 계속 될 것입니다 ... 시도하지 않을 것입니다. 걱정 되시면 한 번에 파티션을 옮기는 것이 좋습니다.

    0.10.1.0 (이제 기능이 고정됨)에서 재 할당 작업을 제한하는 기능이 추가되어 제작자와 소비자의 성능에 미치는 영향이 제한됩니다.