En cours d'exécution dans LeaderNotAvailableException lors de l'utilisation de Kafka 0.8.1 avec Zookeeper 3.4.6
J'ai installé la version stable de kafka (0.8.1 avec 2.9.2 Scala) que par leur site web et suis en cours d'exécution avec un nœud 3 zookeeper ensemble (3.4.6). J'ai essayé de créer un test de sujet, mais continuer de voir qu'il n'y a pas de leader attribué à la partition de la rubrique:
[kafka_2.9.2-0.8.1]$ ./bin/kafka-topics.sh --zookeeper <zookeeper_ensemble> --describe --topic test-1
Topic:test-1 PartitionCount:1 ReplicationFactor:3 Configs:
Topic: test-1 Partition: 0 **Leader: none** Replicas: 0,1,2 **Isr:**
J'ai essayé d'écrire sur le sujet de toute façon à l'aide de la console de producteur, mais a couru dans la LeaderNotAvailableException exception:
[kafka_2.9.2-0.8.1]$ ./kafka-console-producer.sh --broker-list <broker_list> --topic test-1
hello world
[2014-04-22 11:58:48,297] WARN Error while fetching metadata [{TopicMetadata for topic test-1 ->
No partition metadata for topic test-1 due to kafka.common.LeaderNotAvailableException}] for topic [test-1]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo)
[2014-04-22 11:58:48,321] WARN Error while fetching metadata [{TopicMetadata for topic test-1 ->
No partition metadata for topic test-1 due to kafka.common.LeaderNotAvailableException}] for topic [test-1]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo)
[2014-04-22 11:58:48,322] ERROR Failed to collate messages by topic, partition due to: Failed to fetch topic metadata for topic: test-1 (kafka.producer.async.DefaultEventHandler)
[2014-04-22 11:58:48,445] WARN Error while fetching metadata [{TopicMetadata for topic test-1 ->
No partition metadata for topic test-1 due to kafka.common.LeaderNotAvailableException}] for topic [test-1]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo)
[2014-04-22 11:58:48,467] WARN Error while fetching metadata [{TopicMetadata for topic test-1 ->
No partition metadata for topic test-1 due to kafka.common.LeaderNotAvailableException}] for topic [test-1]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo)
[2014-04-22 11:58:48,467] ERROR Failed to collate messages by topic, partition due to: Failed to fetch topic metadata for topic: test-1 (kafka.producer.async.DefaultEventHandler)
[2014-04-22 11:58:48,590] WARN Error while fetching metadata [{TopicMetadata for topic test-1 ->
No partition metadata for topic test-1 due to kafka.common.LeaderNotAvailableException}] for topic [test-1]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo)
[2014-04-22 11:58:48,612] WARN Error while fetching metadata [{TopicMetadata for topic test-1 ->
No partition metadata for topic test-1 due to kafka.common.LeaderNotAvailableException}] for topic [test-1]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo)
[2014-04-22 11:58:48,612] ERROR Failed to collate messages by topic, partition due to: Failed to fetch topic metadata for topic: test-1 (kafka.producer.async.DefaultEventHandler)
[2014-04-22 11:58:48,731] WARN Error while fetching metadata [{TopicMetadata for topic test-1 ->
No partition metadata for topic test-1 due to kafka.common.LeaderNotAvailableException}] for topic [test-1]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo)
[2014-04-22 11:58:48,753] WARN Error while fetching metadata [{TopicMetadata for topic test-1 ->
No partition metadata for topic test-1 due to kafka.common.LeaderNotAvailableException}] for topic [test-1]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo)
[2014-04-22 11:58:48,754] ERROR Failed to collate messages by topic, partition due to: Failed to fetch topic metadata for topic: test-1 (kafka.producer.async.DefaultEventHandler)
[2014-04-22 11:58:48,876] WARN Error while fetching metadata [{TopicMetadata for topic test-1 ->
No partition metadata for topic test-1 due to kafka.common.LeaderNotAvailableException}] for topic [test-1]: class kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo)
[2014-04-22 11:58:48,877] ERROR Failed to send requests for topics test-1 with correlation ids in [0,8] (kafka.producer.async.DefaultEventHandler)
[2014-04-22 11:58:48,878] ERROR Error in handling batch of 1 events (kafka.producer.async.ProducerSendThread)
kafka.common.FailedToSendMessageException: Failed to send messages after 3 tries.
at kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:90)
at kafka.producer.async.ProducerSendThread.tryToHandle(ProducerSendThread.scala:104)
at kafka.producer.async.ProducerSendThread$$anonfun$processEvents$3.apply(ProducerSendThread.scala:87)
at kafka.producer.async.ProducerSendThread$$anonfun$processEvents$3.apply(ProducerSendThread.scala:67)
at scala.collection.immutable.Stream.foreach(Stream.scala:547)
at kafka.producer.async.ProducerSendThread.processEvents(ProducerSendThread.scala:66)
at kafka.producer.async.ProducerSendThread.run(ProducerSendThread.scala:44)
Je dois également préciser que c'était au départ pour quelques jours et puis, soudain, un sujet qui a été créé a eu ce manque de leader problème.
- Le deps pour cette version de kafka liste zookeeper version 3.3.4 que le bon zookeeper dep comme par mvnrepository.com/artifact/org.apache.kafka/kafka_2.9.2/0.8.1 peut-être l'aide qui pourrait résoudre le problème...
- J'ai le même problème. Je ne trouve pas beaucoup sur le web, mais cela est susceptible de se produire si Kafka n'est pas éteint correctement - voir cwiki.apache.org/confluence/display/KAFKA/... Nous sommes en cours d'exécution Kafka superviseur de sorte qu'il est possible qu'il s'abîme, s'est lui-même dans un état incohérent puis redémarré. Mais comment le résoudre?
Vous devez vous connecter pour publier un commentaire.
Kafka utilise une coordination externe du cadre (par défaut Zookeeper) pour maintenir la configuration. Il semble que la configuration est maintenant synchronisé avec les données du journal de Kafka. Dans ce cas, je voudrais déplacer la rubrique données et la Gardienne des données.
Pour L'Environnement De Test:
Kafka-server
etZookeeper-server
/tmp/kafka-log
et/tmp/zookeeper
.Kafka-server
etZookeeper-server
nouveauVous êtes maintenant en mesure de travailler avec le sujet à nouveau.
Pour Un Environnement De Production:
Comme Kafka sujets sont stockés dans des répertoires différents, vous devez supprimer des répertoires spécifiques. Vous devez également supprimer
/brokers/{broker_id}/topics/{broken_topic}
de Gardienne d'animaux à l'aide d'un Zookeeper client.Veuillez lire Kafka attentivement la documentation pour vérifier que la configuration de la structure, avant de vous faire quelque chose de stupide. Kafka est le déploiement d'une suppression sujet fonctionnalité (KAFKA-330), de sorte que le problème peut être résolu plus facilement.
J'ai eu le même problème. Il s'avère que Kafka exige que le nom d'hôte de la machine à resolveable pour se connecter à lui-même.
Je mis à jour le nom d'hôte sur ma machine et, après un redémarrage de la gardienne et de kafka, le sujet peut être écrit correctement.
J'avais résolu ce problème en ajoutant une entrée dans
/etc/hosts
pour127.0.0.1
avec le nom d'hôte pleinement qualifié:Le producteur et le consommateur a commencé à bien fonctionner.
advertised.host.name=localhost
dansconfig/server.properties
. Même dans la production, c'est généralement une bonne idée.J'ai eu le même problème. À la fin, j'ai dû supprimer le Kafka nœuds, puis suivez les conseils sur la façon de supprimer Kafka sujets. Une fois que j'avais à se débarrasser de la rupture de sujets, j'ai pu commencer à Kafka de nouveau avec succès.
Je voudrais savoir si il y a une meilleure approche, et comment éviter que cela se reproduise à l'avenir.
J'ai rencontré ce problème plusieurs fois et enfin compris pourquoi j'ai eu le problème. Je vais ajouter les résultats ici aussi. Je suis sur Linux, VM, réponse courte est, j'ai eu ce problème depuis ma VM a obtenu une nouvelle IP. Si vous regardez sous les fichiers de configuration et ouvrir le serveur.propriétés, vous voyez cette ligne
annoncés.de l'hôte.nom=xx.xx.xx.xxx ou localhost.
Assurez-vous que cette adresse IP correspond à votre IP actuelle, vous pouvez vérifier votre adresse IP ici.
Une fois que j'ai résolu, tout a commencé à fonctionner correctement. Je suis à l'aide de 0.9.0.0 version.
J'espère que cela aide quelqu'un.
J'ai eu le même problème, résolu le JDK de 1,7 à 1,6
eu le même problème. assurez-vous d'avoir au moins un sujet sur chaque partition de votre consommateur /producteur est à l'aide. Zookeeper ne trouverez pas un chef de file d'une partition si il n'y a pas des sujets à l'aide de la partition
C'est le problème avec le JDK.
J'ai installé openjdk
Mais j'ai changé d'oracle jdk (suivez ce lien : http://www.webupd8.org/2012/06/how-to-install-oracle-java-7-in-debian.html)
Maintenant il fonctionne très bien. Espérons que cette aide.
Donc encore une réponse possible -- l'adresse IP dans le
advertised.hostname
dans le kafkaconfig/server.properties
peut-être fait une faute de frappe avec un espace supplémentaire.Dans mon cas
au lieu de le corriger
Pour une raison quelconque, cela a été de travailler pendant 6 mois sans problèmes, et sans doute une bibliothèque mise à jour retiré de l'atmosphère détendue de la recherche de l'adresse IP découpe l'espace supplémentaire.
Une simple correction d'un problème de fichier de configuration et redémarrer de kafka résout ce problème.
Je me suis confronté exactement au même problème quand j'ai essayé de jouer avec Kafka dans mon système local (mac OS X El Capitan). Le problème était avec ma gardienne d'animaux, il ne se référait pas à corriger le fichier config.
Le redémarrage de la gardienne d'animaux, puis Kafka et exécutez la commande suivante. vérifier si le Leader n'est pas Aucun. Si le Leader n'est, de supprimer ce topic et de le recréer.
De sortie sera comme
J'espère que cela pourra vous aider.
J'ai affronté le problème avec
Kafka
,Zookeeper
pod dans Openshift et la Kafka a été TLS est activé.J'ai dû ajouter ci-dessous les variables d'environnement de Kafka,
KAFKA_ZOOKEEPER_CONNECT
KAFKA_SSL_KEYSTORE_LOCATION
KAFKA_SSL_TRUSTSTORE_LOCATION
KAFKA_SSL_KEYSTORE_PASSWORD
KAFKA_SSL_TRUSTSTORE_PASSWORD
KAFKA_ADVERTISED_LISTENERS
KAFKA_INTER_BROKER_LISTENER_NAME
KAFKA_LISTENERS
Et après la mise à l'variables, j'ai dû supprimer et recréer les gousses, pour qu'il fonctionne.
Ajouter de la publicité.de l'hôte.nom=localhost" dans config/serveur.propriétés et redémarrez l'Kafka serveur. Il a travaillé pour moi