Hola mundo en Kafka y Hortonworks

Prerequisitos

 

Arrancar kafka

  • Antes de empezar evidentemente es necesario tener arrancada la máquina virtual de Hortonworks
  • Acceder a Ambari
  • Acceder al servicio de Kafka
  • Arrancar el servicio mediante el botón de start de arriba a la derecha

 

Acceder por SSH a la consola

Hortonworks

  • Se puede acceder directamente a la consola que proporciona hortonworks en http://127.0.0.1:4200
  • Usuario: root
  • Password: hadoop

Nota: la información de la clave se pueden consultar también en el panel de Ambari.

Putty

  • Protocolo: SSH
  • Puerto: 2222

 

Configurar productor consumidor

Topic: definir un tema comun entre el productor y el consumidor

Desde la linea de comandos acceder a:

cd /usr/hdp/current/kafka-broker/bin/

Mostrar los scripts

ls
connect-distributed.sh               kafka-replica-verification.sh
connect-standalone.sh                kafka-run-class.sh
kafka                                kafka-server-start.sh
kafka-acls.sh                        kafka-server-stop.sh
kafka-configs.sh                     kafka-simple-consumer-shell.sh
kafka-console-consumer.sh            kafka-streams-application-reset.sh
kafka-console-producer.sh            kafka-topics.sh
kafka-consumer-groups.sh             kafka-verifiable-consumer.sh
kafka-consumer-offset-checker.sh     kafka-verifiable-producer.sh
kafka-consumer-perf-test.sh          kafka-zookeeper-run-class.sh
kafka-mirror-maker.sh                windows
kafka-preferred-replica-election.sh  zookeeper-security-migration.sh
kafka-producer-perf-test.sh          zookeeper-server-start.sh
kafka-reassign-partitions.sh         zookeeper-server-stop.sh
kafka-replay-log-producer.sh         zookeeper-shell.sh

Crear un tema, llamado mitema con sin replicación y una sola partición

./kafka-topics.sh --create --zookeeper sandbox.hortonworks.com:2181 --replication-factor 1 --partitions 1 --topic mitema

Listar los topics existentes

./kafka-topics.sh --list --zookeeper sandbox.hortonworks.com:2181
ATLAS_ENTITIES
ATLAS_HOOK
__consumer_offsets
ambari_kafka_service_check
mitema

Productor: Definir el productor que cree el mensaje de hola mundo

Llamar al productor que inserte texto en el topic definido «mitema»

./kafka-console-producer.sh --broker-list sandbox.hortonworks.com:6667 --topic mitema

Insertar texto que posteriormente leerá el consumidor

Hola Mundo
Adios mundo

Consumidor: Definir el consumidor que consuma el mensaje de hora mundo

Abrir un nuevo terminal y desde la linea de comandos acceder a:

cd /usr/hdp/current/kafka-broker/bin/

Desde la linea de comandos acceder a:

./kafka-console-consumer.sh --bootstrap-server sandbox-hortonworks:6667 --zookeeper sandbox.hortonworks.com:2181 --topic mitema --from-beginning
Hola Mundo
Adios mundo