Ribilanciamento di un cluster Kafka
Ribilancia i cluster Kafka del servizio Big Data per definire il numero di copie dell'argomento nel cluster.
In un cluster Kafka, i broker garantiscono l'alta disponibilità per elaborare nuovi eventi. Kafka, essendo tollerante agli errori, le repliche dei messaggi vengono mantenute su ogni broker e sono rese disponibili in caso di errori. Con l'aiuto del fattore di replica, è possibile definire il numero di copie dell'argomento nel cluster.
Aggiungere nuovi broker o dischi a un broker Kafka esistente assegnando un ID broker, listener e una directory di log univoci dalle configurazioni Ambari per Kafka. Tuttavia, a questi broker/dischi non viene assegnata alcuna partizione di dati degli argomenti esistenti nel cluster. A meno che non si spostino le partizioni o si creino nuovi argomenti, i broker non faranno molto lavoro. Per risolvere questo problema, è possibile utilizzare lo strumento kafka-reassign-partitions
.
Creazione del file JSON degli argomenti da spostare
Creare un file JSON topics-to-move
per specificare gli argomenti da riassegnare.
topics-to-move
indica allo strumento kafka-reassign-partitions
quali partizioni esaminare durante la generazione di una proposta per la configurazione della riassegnazione. È necessario creare il file JSON topics-to-move
da zero. Il formato del file è il seguente:
{"topics": [{"topic": "topic1"}, {"topic": "topic2"}], "version":1 }
Per ulteriori informazioni sulla creazione del file JSON topics-to-move
, vedere Esecuzione della riassegnazione delle partizioni con lo strumento kafka-reassign-partitions-tool.
JSON configurazione riassegnazione
Questo file JSON è un file di configurazione che contiene i parametri utilizzati nel processo di riassegnazione. Si crea questo file, tuttavia, una proposta per il suo contenuto viene generata dallo strumento. Quando lo strumento kafka-reasssign-partitions
viene eseguito con l'opzione --generate
, genera una configurazione proposta che può essere ottimizzata e salvata come file JSON. La creazione del file in questo modo è la notazione JSON di configurazione della riassegnazione. Per generare una proposta, lo strumento richiede un file topics-to-move
come input. Il formato del file è il seguente:
{"version":1,
"partitions":
[{"topic":"topic1","partition":1001,"replicas":[1001,1002],"log_dirs":["any","any"]},
{"topic":"topic1","partition":1002,"replicas":[1002,1001],"log_dirs":["any","any"]},
{"topic":"topic2","partition":1003,"replicas":[1002,1001],"log_dirs":["any","any"]}]
}
Per ulteriori informazioni sulla creazione del file JSON topics-to-move
, vedere Esecuzione della riassegnazione delle partizioni con lo strumento kafka-reassign-partitions-tool.
Proprietà configurazione riassegnazione
La configurazione della riassegnazione contiene più proprietà.
Proprietà | descrizione; |
---|---|
topic |
Specifica l'argomento. |
partition |
Specifica la partizione. |
replicas |
Specifica i broker a cui è assegnata la partizione selezionata. I broker sono elencati in ordine, il che significa che il primo broker nella lista è sempre il leader per quella partizione. Cambia l'ordine dei broker per risolvere eventuali problemi di bilanciamento tra i broker. Modificare gli ID broker per riassegnare le partizioni a broker diversi. |
log_dirs |
Specifica la directory di log dei broker. Le directory di log sono elencate nello stesso ordine dei broker. Per impostazione predefinita any è specificato come directory di log, il che significa che il broker è libero di selezionare dove posizionare la replica. Per impostazione predefinita, l'implementazione del broker corrente seleziona la directory di log utilizzando un algoritmo round-robin. È possibile utilizzare un percorso assoluto che inizia con / per impostare in modo esplicito la posizione in cui memorizzare la replica della partizione. |
Esecuzione della riassegnazione delle partizioni con kafka-reassign-partitions-tool
- Per un cluster Kafka con dati di grandi dimensioni, utilizzare questo strumento con attenzione. Per spostare più partizioni, si consiglia di eseguire lo strumento in batch di tre o quattro partizioni alla volta.
- Assicurarsi che i broker siano sani prima di eseguire questo strumento.
- Questo strumento non può essere utilizzato per creare una replica non sincronizzata nella partizione leader.
- Ridistribuire il carico quando il sistema ha una capacità del 70%.