tutorial partitions metamorfosis kafka franz apache-kafka apache-zookeeper

apache kafka - partitions - Listar todos los temas de kafka



kafka producer (8)

Kafka es un sistema distribuido y necesita a Zookeeper. Tienes que empezar también a zookeeper. Siga "Inicio rápido" aquí: https://kafka.apache.org/0100/documentation.html#quickstart

Estoy usando kafka 0.10 sin zookeeper . Quiero obtener la lista de temas kafka. Este comando no funciona, ya que no estamos usando zookeeper: bin/kafka-topics.sh --list --zookeeper localhost:2181 . ¿Cómo puedo obtener la misma salida sin zookeeper?


Kafka requiere un guardián del zoológico y, de hecho, la lista de temas se almacena allí, por lo tanto, la herramienta kafka-topics también necesita conectarse al guardián del zoológico. Los apis de kafka-clients en las versiones más recientes ya no hablan directamente con el cuidador del zoológico, tal vez por eso tenga la impresión de que es posible realizar una configuración sin el cuidador del zoológico. No lo es , ya que kafka depende de ello internamente. Para referencia, consulte: http://kafka.apache.org/documentation.html#quickstart Paso 2:

Kafka utiliza ZooKeeper, por lo que primero debe iniciar un servidor ZooKeeper si aún no tiene uno.


Kafka utiliza ZooKeeper, por lo que primero debe iniciar un servidor ZooKeeper si aún no tiene uno.

Si no desea instalar y tiene un servidor zookeeper separado, puede usar el script de conveniencia empaquetado con kafka para obtener una instancia de ZooKeeper de nodo único rápida y sucia.

Iniciando la instancia de Zookeeper de un solo nodo:

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

Iniciando el servidor Kafka:

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

Listado de los temas disponibles en Kafka:

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


Los clientes de Kafka ya no requieren un guardián del zoológico, pero los servidores de Kafka sí lo necesitan para operar.

Puede obtener una lista de temas con la nueva API de AdminClient, pero el comando de shell que se incluye con Kafka aún no se ha reescrito para usar esta nueva API.

La otra forma de usar Kafka sin Zookeeper es usar un proveedor de SaaS Kafka-as-a-Service como Confluent Cloud para que no vea ni opere a los corredores de Kafka (y al conjunto Zookeeper de fondo requerido).

Por ejemplo, en Confluent Cloud solo usaría el siguiente comando CLI gratuito de zookeeper:

ccloud topic list


Para dockerized kafka / zookeeper

docker ps

Encuentra tu ID del contenedor Zookeeper

docker exec -it <id> bash cd bin ./zkCli.sh ls /brokers/topics


Para leer los mensajes debes usar:

kafka-console-consumer.sh --bootstrap-server kafka1:9092,kafka2:9092,kafka3:9092 --topic messages --from-beginning

--bootstrap-server es un atributo requerido. Puede usar solo un nodo kafka1:9020 .


Zookeeper es necesario para ejecutar Kafka. Zookeeper es imprescindible. Aún así, si desea ver la lista de temas sin Zookeeper, necesita la herramienta de monitoreo Kafka, como Kafka Monitor Tool, kafka-manager, etc.


para ver ese tema si ejecutamos el comando list list topic:

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

Para comprobar si los datos están aterrizando en Kafka:

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