Problème de rééquilibrage lors de la lecture de messages dans Kafka
Je suis en train de lire les messages sur Kafka sujet, mais je suis incapable de le lire. Le processus est tué après un certain temps, sans avoir à lire tous les messages.
Ici est le rééquilibrage erreur que je reçois:
[2014-03-21 10:10:53,215] ERROR Error processing message, stopping consumer: (kafka.consumer.ConsoleConsumer$)
kafka.common.ConsumerRebalanceFailedException: topic-1395414642817-47bb4df2 can't rebalance after 4 retries
at kafka.consumer.ZookeeperConsumerConnector$ZKRebalancerListener.syncedRebalance(ZookeeperConsumerConnector.scala:428)
at kafka.consumer.ZookeeperConsumerConnector.kafka$consumer$ZookeeperConsumerConnector$$reinitializeConsumer(ZookeeperConsumerConnector.scala:718)
at kafka.consumer.ZookeeperConsumerConnector$WildcardStreamsHandler.<init>(ZookeeperConsumerConnector.scala:752)
at kafka.consumer.ZookeeperConsumerConnector.createMessageStreamsByFilter(ZookeeperConsumerConnector.scala:142)
at kafka.consumer.ConsoleConsumer$.main(ConsoleConsumer.scala:196)
at kafka.consumer.ConsoleConsumer.main(ConsoleConsumer.scala)
Consumed 0 messages
J'ai essayé d'exécuter ConsumerOffsetChecker
et c'est l'erreur que j'obtiens. Je n'ai aucune idée que ce soit, comment résoudre ce problème. Quelqu'un, une idée?
./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zkconnect localhost:9092 --topic mytopic --group topic_group
Group Topic Pid Offset logSize Lag Owner
Exception in thread "main" org.I0Itec.zkclient.exception.ZkNoNodeException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /consumers/
at org.I0Itec.zkclient.exception.ZkException.create(ZkException.java:47)
at org.I0Itec.zkclient.ZkClient.retryUntilConnected(ZkClient.java:685)
at org.I0Itec.zkclient.ZkClient.readData(ZkClient.java:766)
at org.I0Itec.zkclient.ZkClient.readData(ZkClient.java:761)
at kafka.utils.ZkUtils$.readData(ZkUtils.scala:459)
at kafka.tools.ConsumerOffsetChecker$.kafka$tools$ConsumerOffsetChecker$$processPartition(ConsumerOffsetChecker.scala:59)
at kafka.tools.ConsumerOffsetChecker$$anonfun$kafka$tools$ConsumerOffsetChecker$$processTopic$1.apply$mcVI$sp(ConsumerOffsetChecker.scala:89)
at kafka.tools.ConsumerOffsetChecker$$anonfun$kafka$tools$ConsumerOffsetChecker$$processTopic$1.apply(ConsumerOffsetChecker.scala:89)
at kafka.tools.ConsumerOffsetChecker$$anonfun$kafka$tools$ConsumerOffsetChecker$$processTopic$1.apply(ConsumerOffsetChecker.scala:89)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61)
at scala.collection.immutable.List.foreach(List.scala:45)
at kafka.tools.ConsumerOffsetChecker$.kafka$tools$ConsumerOffsetChecker$$processTopic(ConsumerOffsetChecker.scala:88)
at kafka.tools.ConsumerOffsetChecker$$anonfun$main$3.apply(ConsumerOffsetChecker.scala:153)
at kafka.tools.ConsumerOffsetChecker$$anonfun$main$3.apply(ConsumerOffsetChecker.scala:153)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61)
at scala.collection.immutable.List.foreach(List.scala:45)
at kafka.tools.ConsumerOffsetChecker$.main(ConsumerOffsetChecker.scala:152)
at kafka.tools.ConsumerOffsetChecker.main(ConsumerOffsetChecker.scala)
Caused by: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /consumers/
at org.apache.zookeeper.KeeperException.create(KeeperException.java:102)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:42)
at org.apache.zookeeper.ZooKeeper.getData(ZooKeeper.java:927)
at org.apache.zookeeper.ZooKeeper.getData(ZooKeeper.java:956)
at org.I0Itec.zkclient.ZkConnection.readData(ZkConnection.java:103)
at org.I0Itec.zkclient.ZkClient$9.call(ZkClient.java:770)
at org.I0Itec.zkclient.ZkClient$9.call(ZkClient.java:766)
at org.I0Itec.zkclient.ZkClient.retryUntilConnected(ZkClient.java:675)
... 16 more
source d'informationauteur divinedragon
Vous devez vous connecter pour publier un commentaire.
J'ai eu des problèmes similaires récemment. Vous pouvez essayer d'augmenter la consommation des configurations rééquilibrer.l'interruption.ms et zookeeper.session.délai d'attente.ms à environ 5-10 secondes.
Le premier paramètre dire kafka attendre un peu plus avant de renvoyer le rééquilibrer.
Le second dites kafka à être plus patient, tout en essayant de se connecter à la gardienne.
D'autres options de configuration peuvent être trouvés sur la documentation officielle.
Cela signifie probablement que les courtiers ne pas créer ces nœuds correctement lors de la connexion à la Gardienne. Le consommateur /chemin d'accès doit exister lorsque vous essayez de consommer.
Voici quelques chemins pour le débogage:
Avez-vous créer tous les sujets?
Si oui:
Si ce n':
$KAFKA_DIR/bin/kafka-create-topic.sh
. Regardez à l'intérieur du script pour les détails d'utilisation.Il y a un bug dans kafka.outils.ConsumerOffsetChecker. Si l'un particulier Zookeeper nœud holding consommé de décalage n'est pas le quitter, l'outil quitte à jeter l'execption.
Par exemple, supposons que vous avez un groupe de consommateurs "mygroup" et une rubrique "topictest". Le décalage pour la partition 2 est maintenu en Znode:
/consommateurs/mygroup/offsets/topictest/2.
Si il n'y a pas d'entrée pour la partition 2 de la rubrique topictest dans Znode, puis à la consommation offsetchecker outil de sortie lors de la vérification de décalage pour la partition 2.
En gros, ce sera un échec lors de la vérification de la première partition "n" pour qui la Znode /consommateurs/mygroup/offsets/topictest/n est manquant sur la Gardienne.
probablement vos courtiers sont en mode hors connexion et ils ne sont pas en mesure de se connecter à la Gardienne, avez-vous essayé de lancer la console de consommation script disponible dans le
$KAFKA_ROOT_DIR/bin
chemin pour vérifier si vous êtes en mesure de consommer à partir d'un thème spécifique.Un autre Problème pourrait être en raison de pot de conflits. Si vous avez le même pot avec différentes versions enregistrées dans le dossier de la bibliothèque. Ce Problème peut survenir.
pots comme scala-bibliothèque ,zkclient, zookeeper, kafka-le client ne doit pas être dupliqué avec des versions différentes.