Antes de instalar Apache Kafka, asegúrese de tener los siguientes requisitos previos:
- Servidor Ubuntu 18.04 con un usuario no root con privilegios `sudo`.
- Java Development Kit (JDK) 8 o posterior instalado.
- Zookeeper instalado y ejecutándose. [Aquí](/blog/how-to-install-zookeeper-on-ubuntu-1804) se explica cómo instalar ZooKeeper en Ubuntu 18.04.
Paso 2:Descargar Apache Kafka
1. Visite la página oficial [descarga de Apache Kafka] (https://kafka.apache.org/download).
2. En la sección "Versiones", haga clic en la última versión estable (por ejemplo, `2.8.0`).
3. En la página de lanzamiento, haga clic en el enlace para descargar el archivo tarball (por ejemplo, `kafka_2.12-2.8.0.tgz`).
4. Utilice `wget` para descargar el archivo tarball:
```
wget https://www-us.apache.org/dist/kafka/2.8.0/kafka_2.12-2.8.0.tgz
```
Paso 3:Extraiga el Tarball
Una vez que se complete la descarga, extraiga el archivo tarball a un directorio de su elección. En este ejemplo, lo extraeremos a `/opt`:
```
sudo tar -xzvf kafka_2.12-2.8.0.tgz -C /opt
```
Esto creará un directorio llamado `/opt/kafka_2.12-2.8.0`.
Paso 4:Establecer variables de entorno
Para facilitar el trabajo con Kafka, puede configurar algunas variables de entorno. Agregue las siguientes líneas a su archivo `/etc/profile`:
```
exportar KAFKA_HOME=/opt/kafka_2.12-2.8.0
exportar RUTA=$KAFKA_HOME/bin:$RUTA
```
Guarde el archivo y ciérrelo. Luego, ejecute el siguiente comando para actualizar las variables de entorno:
```
fuente /etc/perfil
```
Paso 5:Crear usuario de Kafka
Para ejecutar Kafka, se recomienda crear un usuario dedicado. Esto ayuda a aislar los procesos de Kafka de otros procesos del sistema y mejora la seguridad.
```
sudo adduser --system --group kafka
```
Paso 6:Configurar Zookeeper
Kafka confía en Zookeeper para la coordinación. Edite el archivo `config/zookeeper.properties` dentro del directorio de instalación de Kafka:
```
sudo vi /opt/kafka_2.12-2.8.0/config/zookeeper.properties
```
Asegúrese de que el parámetro `connect` apunte al conjunto Zookeeper:
```
conectar=localhost:2181
```
Guarde el archivo y ciérrelo.
Paso 7:Configurar Kafka
A continuación, configuremos Kafka editando el archivo `config/server.properties`:
```
sudo vi /opt/kafka_2.12-2.8.0/config/server.properties
```
Estas son las configuraciones clave para modificar:
- Reemplace `broker.id` con una identificación única para este corredor (por ejemplo, `0` si es el primer corredor en su clúster).
- Configure `zookeeper.connect` para que apunte al conjunto de Zookeeper (por ejemplo, `localhost:2181`).
- Considere ajustar el parámetro `log.dirs` para especificar el directorio donde Kafka almacenará sus registros.
- Revise otros parámetros como `num.partitions` y `default.replication.factor` según sus requisitos.
Guarde el archivo y ciérrelo.
Paso 8:Crear temas
Los temas son las unidades fundamentales de almacenamiento de datos en Kafka. Para crear un tema, ejecute el siguiente comando, sustituyendo "mi-tema" con el nombre del tema que desee:
```
/opt/kafka_2.12-2.8.0/bin/kafka-topics.sh --create --topic mi-tema --partitions 1 --replication-factor 1 --zookeeper localhost:2181
```
Paso 9:Inicie Kafka
Para iniciar el corredor Kafka, ejecute el siguiente comando:
```
/opt/kafka_2.12-2.8.0/bin/kafka-server-start.sh /opt/kafka_2.12-2.8.0/config/server.properties
```
Paso 10:Probar Kafka
Para probar si Kafka funciona correctamente, puede utilizar las herramientas `kafka-console-producer` y `kafka-console-consumer`.
Producir un mensaje
Para generar un mensaje, ejecute el siguiente comando, reemplazando "mi-tema" con el nombre de su tema:
```
/opt/kafka_2.12-2.8.0/bin/kafka-console-producer.sh --topic mi-tema --broker-list localhost:9092
```
En la consola, escriba un mensaje y presione "Entrar".
Consumir un mensaje
Para consumir el mensaje, ejecute el siguiente comando, reemplazando "mi-tema" con el nombre de su tema:
```
/opt/kafka_2.12-2.8.0/bin/kafka-console-consumer.sh --topic mi-tema --bootstrap-server localhost:9092 --desde-el-principio
```
En la consola, debería ver el mensaje que produjo anteriormente.
Paso 11:Configurar el firewall (opcional)
Si no se puede acceder a su servidor Kafka externamente, es posible que deba configurar su firewall para permitir conexiones entrantes en el puerto 9092 (o cualquier puerto personalizado que haya especificado durante la configuración).
Conclusión
Ha instalado y configurado correctamente Apache Kafka en su servidor Ubuntu 18.04. Ahora puede explorar sus capacidades y comenzar a crear aplicaciones en tiempo real.