kafka obtenez la partition de compter pour un sujet
Comment puis-je obtenir le nombre de partitions pour toute kafka sujet du code. J'ai fait des recherches beaucoup de liens, mais aucune ne semble fonctionner.
De mentionner quelques-uns:
http://grokbase.com/t/kafka/users/148132gdzk/find-topic-partition-count-through-simpleclient-api
http://grokbase.com/t/kafka/users/151cv3htga/get-replication-and-partition-count-of-a-topic
http://qnalist.com/questions/5809219/get-replication-and-partition-count-of-a-topic
qui ressemblent à des discussions similaires.
Aussi il y a des liens sur DONC qui n'ont pas une solution de travail.
Qui Kafka version?
kafka_2.9.2-0.8.2.2
vish4071, comment sur l'acceptation de la solution dont vous avez fini d'utiliser?
kafka_2.9.2-0.8.2.2
vish4071, comment sur l'acceptation de la solution dont vous avez fini d'utiliser?
OriginalL'auteur vish4071 | 2016-02-16
Vous devez vous connecter pour publier un commentaire.
Aller à votre
kafka/bin
répertoire.Puis exécutez ce:
./kafka-topics.sh --describe --zookeeper localhost:2181 --topic topic_name
Vous devriez voir ce que vous avez besoin dans
PartitionCount
.J'ai besoin d'obtenir ce à partir du code...
Oui...à l'instar de certaines api...
Upvoting parce que je arrivé à être à la recherche d'une non-solution de code et c'était parfait.
OriginalL'auteur peter.petrov
Dans le 0.82 Producteur de l'API et de 0,9 Consommateur api, vous pouvez utiliser quelque chose comme
OriginalL'auteur Sunil Patil
Voici comment je le fais:
Remarque que j'avais juste besoin de sortir les Id de partition, mais vous pouvez en outre de récupérer une autre partition de métadonnées, comme
leader
,isr
,replicas
, ...Et
BrokerInfo
est juste un simple POJO qui ahost
etport
champs.OriginalL'auteur Marko Bonaci
Donc ce qui suit est une approche qui fonctionne pour kafka 0,10 et il n'utilise pas de producteur ou de consommateur Api. Il utilise certaines des classes de l'API scala de kafka comme ZkConnection et ZkUtils.
OriginalL'auteur Avinash Kumar Pandey
ci-dessous shell cmd pouvez imprimer le nombre de partitions. vous devriez être en kafka bin avant l'exécution de la cmd
sh kafka-topics.sh --décrire --zookeeper localhost:2181 --sujet TopicName | awk '{print $2}' | uniq -c |awk 'NR==2{print "nombre de partitions=" $1}'
s'il vous plaît changer le nom de la rubrique en fonction de votre besoin
vous pouvez en outre de valider cette aide si la condition ainsi
sh kafka-topics.sh --décrire --zookeeper localhost:2181 --sujet TopicName | awk '{print $2}' | uniq -c |awk 'NR==2{if ($1=="16") print "partitions valide"}'
ci-dessus cmd imprime partitions valides si count est de 16 ans . vous pouvez modifier le comte en fonction de votre exigence.
OriginalL'auteur MD5
@Sunil-patil réponse arrêté à court de répondre le comte morceau de celui-ci. Vous devez obtenir la taille de la Liste
producteur.partitionsFor("test").size()
@vish4071 pas de point de frottement Sunil, vous n'avez pas mentionné que vous utilisez ConsumerConnector dans la question.
OriginalL'auteur Andy
J'ai eu le même problème, lorsque j'avais besoin pour obtenir les partitions pour un sujet.
Avec l'aide de la réponse ici j'ai été en mesure d'obtenir l'information de la Gardienne.
Voici mon code en Scala (mais il pourrait être facilement traduit en Java)
À l'aide de cette approche m'a permis d'accéder à l'information à propos de Kafka sujets ainsi que d'autres informations à propos de Kafka courtiers ...
De Zookeeper vous pouvez le vérifier le nombre de partitions d'un sujet en parcourant
/brokers/topics/MY_TOPIC_NAME/partitions
À l'aide de
zookeeper-client.sh
pour vous connecter à votre zookeeper:Qui nous montre qu'il y a 3 partitions pour le sujet
MY_TOPIC_NAME
OriginalL'auteur user1314742
Vous pouvez explorer la
kafka.utils.ZkUtils
qui a beaucoup de méthodes visant à aider à extraire les méta-données sur le cluster. Les réponses ici sont sympa, je suis juste en ajoutant le souci de la diversité:OriginalL'auteur Danny Mor
OriginalL'auteur gstackoverflow
OriginalL'auteur Raman Mishra
Le nombre de partitions peut être récupéré à partir de zookeeper-shell
Ci-dessous en est l'exemple:
OriginalL'auteur Hackaholic