>

Java API를 사용하여 Zookeeper를 실행하려고하는데 여러 파티션으로 주제를 시작할 수 있습니다. 이 답변 트릭을 수행합니다. 그러나이 코드를 실행하려고하면 오류가 발생합니다.

Unable to connect to zookeeper server 'localhost:2181' with timeout of 8000 ms

이 컴퓨터에서 동물원 관리자 서버가 실행되고 있지 않습니다. 그러나 Java에서 인스턴스를 시작하고 싶습니다 (현재 ZooKeeperServerMain () 클래스를 사용할 수 있습니다). 아마도 같은 작업을 수행해야하지만 주제에 여러 파티션을 추가 할 가능성이있는 첫 번째 답변과 어떻게 결합해야합니까?

그만한 가치를 위해 이 답변 은 주제에 대해 하나의 파티션 만 생성하므로 정확히 내가 원하는 것은 아닙니다.

본질적으로 Zookeeper (두 번째 링크를 사용하여 수행 할 수 있음)를 시작하고 Kafka를 로컬로 시작하고 (또한 할 수 있음) 생산자를 시작하여 단일 주제로 생성하지만 세 개의 다른 파티션을 만들고 싶습니다. , 3 개의 다른 소비자, 즉 각 파티션에서 하나씩 메시지를 읽습니다 (Kafka를 올바르게 이해하면 3 개의 소비자가 시작되면 3 개의 파티션이 균등하게 분할됩니다). 이 모든 것은 Java API를 사용하여 수행됩니다 (Kafka 스크립트 등을 실행하지 않습니다). 그러나 세 개의 파티션으로 주제를 만드는 데 어려움이 있습니다. 이것이 제 질문입니다.

  • 답변 # 1

    브로커의 num.partitions  구성은 자동으로 생성 된 주제 (생산자 또는 소비자가 만든)에 대해 파티션 수를 적용하는 데 사용할 수 있습니다. 이 구성을 적용하려면 이미 작성된 주제를 먼저 제거해야합니다. 이 구성이 변경된 후 자동으로 작성된 주제 만 영향을받습니다.

  • 답변 # 2

    앞으로 카프카에서 주제를 만들거나 관리하기 위해 사육사와 직접 대화해서는 안됩니다. Kafka 0.11에 도입 된 새로운 AdminClient API를 사용해야합니다.

    https://kafka.apache.org/0110/javadoc/index.html?org/apache/kafka/clients/admin/AdminClient.html

  • 이전 python - 이 문자열을 다른 문자열에 매핑하는 것은 무엇입니까?
  • 다음 css - 스타일에 영향을주는 입력 및 레이블 요소의 HTML 순서