Sto usando kafka 0.8.2 & uno dei miei server kafka è morto (non c'è modo di recuperare i dati sui dischi). C'è un argomento, con la replica di 1, con una delle partizioni sul server morto. Ho pensato che una riassegnazione avrebbe spostato i metadati per quella partizione in un nuovo server senza aver bisogno dei dati, ma la riassegnazione è rimasta bloccata a in progress
.aborting kafka riassegna partizione azione
mi sono imbattuto:
$ /opt/kafka/kafka/bin/kafka-reassign-partitions.sh --zookeeper myzookeeper.my.com --reassignment-json-file new_assignment.json --verify
Status of partition reassignment:
Reassignment of partition [topicX,1] is still in progress
Questo non avrà mai successo dal momento che il server di morti non è mai tornato.
Nel registro del nuovo server, ho visto:
[2015-05-28 06:25:15,401] INFO Completed load of log topicX-1 with log end offset 0 (kafka.log.Log)
[2015-05-28 06:25:15,402] INFO Created log for partition [topicX,1] in /mnt2/data/kafka with properties {segment.index.bytes -> 10485760, file.delete.delay.ms -> 60000, segment.bytes -> 536870912, flush.ms -> 9223372036854775807, delete.retention.ms -> 86400000, index.interval.bytes -> 4096, retention.bytes -> -1, min.insync.replicas -> 1, cleanup.policy -> delete, unclean.leader.election.enable -> true, segment.ms -> 604800000, max.message.bytes -> 1000012, flush.messages -> 9223372036854775807, min.cleanable.dirty.ratio -> 0.5, retention.ms -> 259200000, segment.jitter.ms -> 0}. (kafka.log.LogManager)
[2015-05-28 06:25:15,403] WARN Partition [topicX,1] on broker 4151132: No checkpointed highwatermark is found for partition [topicX,1] (kafka.cluster.Partition)
[2015-05-28 06:25:15,405] INFO [ReplicaFetcherManager on broker 4151132] Removed fetcher for partitions (kafka.server.ReplicaFetcherManager)
[2015-05-28 06:25:15,408] INFO [ReplicaFetcherManager on broker 4151132] Added fetcher for partitions List() (kafka.server.ReplicaFetcherManager)
[2015-05-28 06:25:15,411] INFO [ReplicaFetcherManager on broker 4151132] Removed fetcher for partitions (kafka.server.ReplicaFetcherManager)
[2015-05-28 06:25:15,413] INFO [ReplicaFetcherManager on broker 4151132] Added fetcher for partitions List() (kafka.server.ReplicaFetcherManager)
C'è un modo per costringerlo a completare o interrompere l'azione riassegnazione?
Ho finito con l'avvio di un'altra macchina con lo stesso ID broker per completare la riassegnazione della partizione –
che funziona abbastanza bene. non fa male riavviare i broker in seguito. – k1th