2015-02-23 14 views
5

Sono nuovo di kafka, sto eseguendo kafka in una singola macchina sin d'ora. Voglio eseguire kafka in un ambiente distribuito su più macchine. Non esiste una documentazione adeguata per questo. Qualsiasi documentazione o suggerimento su questo sarà davvero utile.Kafka in sistema distribuito

+0

Stai pensando di [qualcosa di simile] (http://kafka.apache.org/documentation.html#distributionimpl)? –

+1

Voglio che il produttore funzioni in un sistema diverso, broker su più sistemi e un consumatore su un sistema diverso per consumarlo. –

+0

produttore/consumatore in esecuzione in una macchina standalone non ti darà molti vantaggi. Dovresti mirare a distribuire la tua applicazione tra i cluster per bilanciare il carico e aumentare il throughput. Ad esempio, nel caso dei produttori, mentre si esegue in modalità Asincrona il livello di parallelismo dipende dal numero di broker presenti nel cluster. – user2720864

risposta

2

In sostanza è necessario fare il follwing
1) Impostare Kafka su tutte le macchine
2) Configurare il file config/server1.properties proprietà per specificare un unico id per ogni macchina. È possibile farlo impostando le proprietà broker.id nel file di configurazione. per esempio. broker.id=1, broker.id=2. Per ogni broker questo ID dovrebbe essere unico. Questo è il modo in cui ogni nodo è identificato in un cluster kafka.
3) Avvia kafka in tutti i nodi

È possibile consultare Step 6: Setting up a multi broker cluster dalla loro pagina di avvio rapido ufficiale.

anche here è un bell'articolo pena dare un'occhiata

3

Aggiungendo alla risposta precedente user2720864

Ammettiamo che è necessario sistema di Kafka con la configurazione di seguito.

7 Kafka nodi

3 guardiani dello zoo

Per raggiungere questo installare 7 casi Kafka, in 7 differenti di server/VM (istanze), e in ciascuno di questi casi impostare un diverso broker-id, questo consentirà al guardiano dello zoo di identificare i diversi nodi kafka per la contabilità, la manutenzione. broker.id = X (/config/server.properties)

Per avviare gli spettatori, è possibile utilizzare 3 delle precedenti istanze di kafka o utilizzare nuovi server per avviare gli spettri zooke. Una volta che i server su cui girano i guardiani dello zoo vengono decisi, modificare /config/server.properties per specificare i guardiani di zooke.

zookeeper.connect = hostname1: port1, hostname2: port2

In un ambiente distribuito il suo bello avere 3 guardiani dello zoo. Mentre c'è solo un zookeeper che funge da vero master, altri 2 zookeeper fungono da failover. Quando il master fallisce, uno dei due ZK subentra come master.

Ho trovato questo link molto utile, mi ha aiutato a chiarire molte cose sull'architettura di kafka.

This è un buon riferimento per tutte le configurazioni per i file di proprietà in Kafka.

Spero che questo aiuti!

+0

Grazie per i suggerimenti proverò a dare una risposta elaborata. – smadhava

Problemi correlati