102 votes

Listez tous les sujets Kafka 0.10 en utilisant le drapeau - -zookeeper sans accès à Zookeeper

Je suis en train d'utiliser kafka 0.10 sans zookeeper. Je veux obtenir la liste des sujets kafka. Cette commande ne fonctionne pas car nous n'utilisons pas zookeeper : bin/kafka-topics.sh --list --zookeeper localhost:2181. Comment puis-je obtenir la même sortie sans zookeeper?

0 votes

/usr/local/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181

168voto

Daniccan VP Points 1015

Kafka utilise ZooKeeper, vous devez donc d'abord démarrer un serveur ZooKeeper si vous n'en avez pas déjà un.

Si vous ne souhaitez pas l'installer et avoir un serveur ZooKeeper séparé, vous pouvez utiliser le script de commodité fourni avec Kafka pour obtenir une instance ZooKeeper à nœud unique rapide et sans fioritures.

Démarrage de l'instance ZooKeeper à nœud unique :

bin/zookeeper-server-start.sh config/zookeeper.properties

Démarrer le serveur Kafka :

bin/kafka-server-start.sh config/server.properties

Liste des sujets disponibles dans Kafka :

bin/kafka-topics.sh --list --zookeeper localhost:2181

2 votes

J'ai besoin d'une solution sans zookeeper. Y a-t-il une autre commande que celle-ci pour lister tous les sujets sans zookeeper ?

7 votes

Je ne pense pas qu'il soit possible d'utiliser Kafka sans Zookeeper car l'état de Kafka est stocké dans Zookeeper. Comment avez-vous réussi à le faire ?

0 votes

Si vous cherchez une commande pour le faire, alors stackoverflow.com/questions/40034074/…

30voto

MagGGG Points 5386

Pour kafka/zookeeper dockerisés

docker ps

trouvez l'ID de votre conteneur zookeeper

docker exec -it  bash

cd bin

./zkCli.sh

ls /brokers/topics

3 votes

./zkCli.sh n'existe pas... dans l'image Docker de Zookeeper

20voto

Enggar R Hariawan Points 111

Pour voir ce sujet si nous exécutons la commande de liste des sujets :

$ bin/kafka-topics.sh --list --zookeeper localhost:2181

Pour vérifier si les données arrivent dans Kafka :

$ bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic twitterstream --from-beginning

4voto

Michal Borowiecki Points 2960

Kafka nécessite zookeeper et en effet la liste des sujets est stockée là-bas, donc l'outil kafka-topics doit aussi se connecter à zookeeper. Les apis kafka-clients dans les versions plus récentes ne parlent plus à zookeeper directement, c'est peut-être pourquoi vous avez l'impression qu'une configuration sans zookeeper est possible. Ce n'est pas le cas, car kafka en dépend en interne. Pour plus de détails, voir: http://kafka.apache.org/documentation.html#quickstart Étape 2:

Kafka utilise ZooKeeper vous devez donc d'abord démarrer un serveur ZooKeeper si vous n'en avez pas déjà un

3voto

Hans Jespersen Points 4477

Les clients Kafka n'ont plus besoin de Zookeeper, mais les serveurs Kafka en ont besoin pour fonctionner.

Vous pouvez obtenir une liste des sujets avec la nouvelle API AdminClient, mais les commandes shell fournies avec Kafka n'ont pas encore été réécrites pour utiliser cette nouvelle API.

L'autre moyen d'utiliser Kafka sans Zookeeper est d'utiliser un fournisseur de services Kafka en tant que service, tel que Confluent Cloud, afin de ne pas voir ou exploiter les courtiers Kafka (et l'ensemble Zookeeper backend requis).

Par exemple, sur Confluent Cloud, vous utiliseriez simplement la commande CLI suivante sans Zookeeper :

ccloud topic list

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X