GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Cómo instalar Apache Kafka en Ubuntu 18.04

En este tutorial, le mostraremos cómo instalar y configurar Apache Kafka en un VPS con Ubuntu 18.04.

Kafka o Apache Kafka es un sistema de mensajería distribuida basado en el principio del modelo pub-sub (publish-subscribe). Nos permite publicar y suscribirnos a un flujo de registros que se pueden categorizar. Es un increíblemente rápido , altamente escalable , tolerante a fallos y está diseñado para procesar grandes cantidades de datos en tiempo real . Apache Kafka también se puede utilizar como alternativa a un intermediario de mensajes, lo que nos permite procesar/transformar un flujo de registros. Kafka se puede utilizar como un sistema de mensajería, pero en una escala incomparablemente enorme. En general, Apache Kafka es una herramienta muy poderosa cuando se usa correctamente.

Requisitos

  • Un servidor con Ubuntu 18.04 con al menos 4 GB de memoria. Para los propósitos de este tutorial, usaremos uno de nuestros VPS administrados con Ubuntu 18.04.
  • Acceso SSH con privilegios de raíz, o acceso al propio usuario "raíz"

Paso 1:Inicie sesión a través de SSH y actualice el sistema

Inicie sesión en su Ubuntu 18.04 VPS con SSH como usuario root:

ssh root@IP_Address -p Port_number

Reemplace "root" con un usuario que tenga privilegios sudo si es necesario. Además, reemplace "IP_Address" y "Port_Number" con la dirección IP y el puerto SSH respectivos de su servidor.

Una vez hecho esto, puede verificar si tiene instalada la versión adecuada de Ubuntu en su servidor con el siguiente comando:

# lsb_release -a

Deberías obtener este resultado:

Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic

Luego, ejecute el siguiente comando para asegurarse de que todos los paquetes instalados en el servidor estén actualizados a sus últimas versiones disponibles:

# apt update && apt upgrade

Paso 2:Agregar un usuario del sistema

Vamos a crear un nuevo usuario llamado 'kafka', después de lo cual agregaremos este nuevo usuario como sudoer.

# adduser kafka
# usermod -aG sudo kafka

Paso 3:Instalar Java

Kafka está escrito en Java, por lo que se requiere una JVM para que funcione. En este tutorial, usaremos OpenJDK 11, ya que es la versión estándar de Java que viene con Ubuntu desde septiembre de 2018.

# apt install default-jre

Paso 4:Descarga Apache Kafka

Ahora descarguemos Kafka, puede ir aquí y descargar la última versión si es necesario. El enlace de descarga más reciente en el momento de escribir este artículo ya se ha introducido en el ejemplo para usted.

# su - kafka
wget https://www-us.apache.org/dist/kafka/2.2.0/kafka_2.12-2.2.0.tgz -O kafka.tgz

Ahora que se ha descargado el binario de Apache Kafka, debemos extraerlo en nuestro directorio de usuarios de Kafka

$ tar -xzvf kafka.tgz --stripe 1

Paso 5:Configurar Apache Kafka

Es hora de configurar Apache Kafka. De forma predeterminada, no podemos eliminar temas, categorías o grupos en los que se pueden publicar mensajes. Para cambiar este comportamiento, necesitamos editar la configuración predeterminada.

$ nano ~/config/server.properties

Agregue la siguiente línea a la última línea del archivo de configuración.

eliminar.topic.habilitar =verdadero

Paso 6:Cree un archivo de unidad del sistema para Apache Kafka

Se requiere Zookeeper para ejecutar Kafka. Kafka usa zookeeper, por lo que primero debemos iniciar una instancia del servidor Zookeeper antes de iniciar el servicio Apache Kafka. En este tutorial, usaremos el script de conveniencia empaquetado con Kafka para obtener una instancia de Zookeeper de un solo nodo rápida y sucia.

Abra un nuevo archivo en la ruta del archivo /etc/systemd/system/zookeeper.service y ábralo en su editor de texto preferido. Usaremos nano para este tutorial.

$ sudo nano /etc/systemd/system/zookeeper.service

Pegue las siguientes líneas en él:

[Unit]
Requires=network.target remote-fs.target
After=network.target remote-fs.target
[Service]
Type=simple
User=kafka
ExecStart=/home/kafka/bin/zookeeper-server-start.sh /home/kafka/config/zookeeper.properties
ExecStop=/home/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target

Ahora, creemos un archivo de unidad del sistema para kafka en la ruta del archivo /etc/systemd/system/kafka.service :

$ sudo nano /etc/systemd/system/kafka.service

Pegue las siguientes líneas en el archivo:

[Unit]
Requires=zookeeper.service
After=zookeeper.service
[Service]
Type=simple
User=kafka
ExecStart=/bin/sh -c '/home/kafka/bin/kafka-server-start.sh /home/kafka/config/server.properties > /home/kafka/kafka.log 2>&1'
ExecStop=/home/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target

Se agregaron las nuevas unidades del sistema, así que habilitemos que Apache Kafka se ejecute automáticamente en el arranque y luego ejecute el servicio.

$ sudo systemctl enable kafka
$ sudo systemctl start kafka

Paso 7:Crear un tema

En este paso, crearemos un tema llamado "FirstTopic", con una sola partición y una sola réplica:

$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic FirstTopic

Created topic "FirstTopic".

El valor del factor de replicación describe cuántas copias de datos se crearán. Estamos ejecutando con una sola instancia, por lo que el valor sería 1.

El valor de las particiones describe la cantidad de intermediarios entre los que desea que se dividan sus datos. Estamos ejecutando con un solo corredor, por lo que el valor sería 1.

Ahora puede ver el tema creado en Kafka ejecutando el comando list topic:

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

FirstTopic

Paso 8:Enviar mensajes usando Apache Kafka

Apache Kafka viene con un cliente de línea de comandos que tomará la entrada de un archivo o una entrada estándar y la enviará como mensajes al clúster de Kafka. El "productor" es el proceso que tiene la responsabilidad de poner datos en nuestro servicio Kafka. De forma predeterminada, Kafka envía cada línea como un mensaje independiente.

Ejecutemos el productor y luego escribamos algunos mensajes en la consola para enviarlos al servidor.

$ bin/kafka-console-producer.sh --broker-list localhost:9092 --topic FirstTopic

>Welcome to kafka
>This is the content of our first topic
>

Mantenga la terminal abierta y pasemos al siguiente paso.

Paso 9:Utilice Apache Kafka como consumidor

Apache Kafka también tiene una línea de comando para que el consumidor lea datos de Kafka; esto es para que el consumidor pueda usar Kafka para mostrar mensajes en una salida estándar.

Ejecute el siguiente comando en una nueva sesión SSH.

$ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning

Welcome to kafka
This is the content of our first topic

¡Eso es todo! Apache Kafka se ha instalado y configurado correctamente. Ahora podemos escribir algunos mensajes en la terminal del productor como se indicó en el paso anterior. Los mensajes serán inmediatamente visibles en nuestro terminal de consumo.

Por supuesto, no tiene que saber cómo instalar Apache Kafka en Ubuntu 18.04 si tiene un VPS de Ubuntu 18.04 alojado con nosotros. Si lo hace, simplemente puede pedirle a nuestro equipo de soporte que instale Apache Kafka en Ubuntu 18.04 por usted. Están disponibles las 24 horas del día, los 7 días de la semana y podrán ayudarlo con la instalación de Apache Kafka, así como con cualquier requisito adicional que pueda tener.

PD. Si disfruta leyendo esta publicación de blog sobre cómo instalar Apache Kafka en Ubuntu 18.04, siéntase libre de compartirla en las redes sociales utilizando los accesos directos a continuación, o simplemente deje un comentario en la sección de comentarios. Gracias.


Panels
  1. Cómo instalar Apache Kafka en Ubuntu 18.04 LTS

  2. Cómo instalar R en Ubuntu 16.04

  3. Cómo instalar Apache Cassandra en Ubuntu 16.04

  4. Cómo instalar Go en Ubuntu 18.04

  5. Cómo instalar Apache CouchDB en Ubuntu 18.04

Cómo instalar Apache Solr en Ubuntu 20.04

Cómo instalar y configurar Apache Kafka en Ubuntu 20.04

Cómo instalar Apache Kafka en Ubuntu 18.04 y 16.04

Cómo instalar Apache Kafka en Ubuntu 16.04 LTS

Cómo instalar Apache Kafka en Ubuntu 20.04 LTS

Cómo instalar Apache en Ubuntu 20.04