J'utilise Kafka 0.10.2.0. J'ai 3 courtiers et je fais des tests de basculement. Parfois, lorsque l'un des courtiers kafka est fermé de façon disgracieuse, je perds des données. configuration du courtier Kafka:Kafka Comment éviter la perte de données sur les courtiers
zookeeper.connection.timeout.ms=6000
num.partitions=50
min.insync.replicas=2
unclean.leader.election.enable=false
group.max.session.timeout.ms=10000
group.min.session.timeout.ms=1000
configuration des consommateurs:
props.put(ConsumerConfig.GROUP_ID_CONFIG, getTopicName() + "group");
props.put(ConsumerConfig.CLIENT_ID_CONFIG, getClientId());
props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");
props.put(ConsumerConfig.REQUEST_TIMEOUT_MS_CONFIG, 30000);
props.put(ConsumerConfig.HEARTBEAT_INTERVAL_MS_CONFIG, 500);
props.put(ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, 3000);
Configuration du producteur:
props.put(ProducerConfig.LINGER_MS_CONFIG, 1);
props.put(ProducerConfig.BUFFER_MEMORY_CONFIG, 33554432);
props.put(ProducerConfig.MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION, 1);
props.put(ProducerConfig.CLIENT_ID_CONFIG, getClientId());
props.put(ProducerConfig.MAX_BLOCK_MS_CONFIG, 800);
props.put(ProducerConfig.RETRIES_CONFIG, Integer.MAX_VALUE);
props.put(ProducerConfig.REQUEST_TIMEOUT_MS_CONFIG, 800);
Que puis-je faire pour arrêter de perdre des données sur les courtiers kafka?
set config = producteur 'ACKs all' Voir http://kafka.apache.org/documentation/#producerconfigs –
J'ai déjà ajouté des acks tous aux producteurs. – melihcoskun
Avec l'élection leader malpropre désactivé, et acks = tout vous ne devriez perdre aucune donnée. Si vous pouvez reproduire ce scénario de manière fiable, signalez un bug potentiel à [email protected] (http://kafka.apache.org/contact) ou ouvrez un Jira: https://issues.apache.org/jira/browse/KAFKA-1? jql = projet% 20% 3D% 20KAFKA –