Skip to content

Instantly share code, notes, and snippets.

@sdgomez
Created July 29, 2020 16:22
Show Gist options
  • Save sdgomez/e9519601d9865bff45a5869738014c54 to your computer and use it in GitHub Desktop.
Save sdgomez/e9519601d9865bff45a5869738014c54 to your computer and use it in GitHub Desktop.
Creación de un clúster de kafka en local y publicación y lectura de mensajes desde la consola
1. Iniciar el servidor de zookeeper:
Nota: ZooKeeper es un servicio centralizado para ser usado por aplicaciones distribuídas. Más info:
https://zookeeper.apache.org/
bin/zookeeper-server-start.sh config/zookeeper.properties
2. Iniciar el servidor de kafka:
bin/kafka-server-start.sh config/server.properties
3. Configuración de un clúster:
3.1 Creamos un archivo de configuración para cada uno de los nodos
cp config/server.properties config/server-1.properties
cp config/server.properties config/server-2.properties
3.2 Editamos la configuración de los nodos:
3.2.1 sudo subl config/server.properties config/server-1.properties
3.2.2 Editamos las siguientes propiedades:
broker.id=1
listeners=PLAINTEXT://:9093
log.dirs=/tmp/kafka-logs-1
3.2.3 sudo subl config/server.properties config/server-2.properties
3.2.4 Editamos las siguientes propiedades:
broker.id=2
listeners=PLAINTEXT://:9094
log.dirs=/tmp/kafka-logs-2
Nota:
broker.id número del nodo del clúster
3.2.5 Iniciamos los dos nodos nuevos:
bin/kafka-server-start.sh config/server-1.properties
bin/kafka-server-start.sh config/server-2.properties
3.2.6 Creamos un topic con un factor de replicación de tres para que el mensaje llegue a los tres nodos y con dos particiones, asumiendo que tendremos dos consumidores:
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 3 --partitions 2 --topic my-replicated-topic-1
4. Publicar mensajes:
bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic my-replicated-topic-1
> my test message 1
> my test message 2
5. Consumir mensajes:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic my-replicated-topic-1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment