2015-12-17 22 views
7

Novità di Kafka.Kafka 0.9 - Come creare un argomento tramite java api

Avere difficoltà a capire come utilizzare il java-api per creare un argomento nella versione 0.9.

Questo answer tratta di 0,8.

Vedo che lo Cluster ha metodi per interrogare le informazioni sulla partizione, argomento, ecc. Ma non riesco a vedere come posso creare dinamicamente un argomento.

risposta

10

Per Kafka, il cluster determina come/se è possibile creare argomenti. Se vuoi essere in grado di creare argomenti al volo, il modo più semplice è utilizzare auto.create.topics.enable sul tuo cluster. Quindi, quando si invia un messaggio a un argomento che non esiste, il cluster crea l'argomento con le partizioni e il fattore di replica predefiniti del cluster. Se non hai/vuoi questa funzione abilitata, non ci sono metodi che io sappia nella libreria dei client di Kafka.

Se sei determinato, puoi guardare nello internals of the kafka-topics.sh, che è dove troverai come Kafka crea gli argomenti con l'api core.

+0

Questo non risponde alla sua domanda. Sta anche chiedendo di creare argomenti usando java api, il link che hai dato è scritto in scala. –

+6

Questo in realtà risponde alla domanda, tuttavia non esiste un'API client Java per questo. C'è l'API admin di Scala che esegue questa operazione, ma nel client non è presente alcuna API Java per creare argomenti a livello di codice, poiché è disponibile solo come funzionalità di amministrazione o come fornita a livello di cluster. @GwenShapira mi ha sostenuto, quindi ti inviterei a leggere di più su Kafka. La risposta è: A. Altrimenti, si abilita il cluster a farlo automaticamente sui nuovi messaggi su un argomento. Oppure B. Devi entrare nell'API dell'amministratore di Scala. PS, le classi di Scala sono utilizzabili da Java. –

Problemi correlati