2016-08-04 60 views
3

Ich möchte einen Broker-Cluster mit Kafka 0.10 API vorzugsweise mit Java erstellen. Soweit ich kafka_2.11-0.10.0.0.jar unterstützen die Schaffung Broker gelesen haben:Erstellen Sie einen Kafka Broker-Cluster mit Apache Kafka 0.10.0 API mit Java

import kafka.cluster.Broker; 
import kafka.cluster.Cluster; 

Aber ich kann keine Dokumentation für so tun finden. Ich habe kürzlich [1] gelesen, die erklären, wie man ein Thema unter Verwendung Kafka API in Java erstellt. Können wir ähnliche Dinge tun wie Broker-Cluster erstellen, Partition aktualisieren, vorhandene Daten/Partition zu neuem Broker migrieren (da diese neuen Broker nicht automatisch alle Datenpartitionen zugewiesen bekommen, wenn Partitionen nicht zu ihnen verschoben werden jede Arbeit [2])

[1] How Can we create a topic in Kafka from the IDE using API

[2] https://kafka.apache.org/0100/ops.html#basic_ops_cluster_expansion

Antwort

0

ich einige Beispiel-Code, die Sie nützlich finden können.

Um einen Broker zu erstellen, werfen Sie einen Blick auf KafkaTestServer. Es ist wirklich für einfachere Tests gedacht, also erzeugt es keinen Cluster, nur einen einzigen Broker, aber es sollte nicht schwierig sein, es zu erweitern.

Sobald ich die Fähigkeit zum Erstellen/Abfragen/Löschen von Themen in den Test-Server eingebaut habe, habe ich einen eigenständigen Admin-Client erstellt, um das gleiche für andere Server zu tun. Wenn Sie also bereits einen Broker-Cluster erstellen, sollten Sie in der Lage sein Verwenden des Codes zum Verwalten von Themen. Werfen Sie einen Blick auf KafkaAdminClient.

Der Admin-Client ist im Grunde eine reine Java-Wrapper um die scala kafka.admin.AdminUtils Klasse, so dass es kümmert sich um alle scala < -> Java-Konvertierungen unter die Decke.