Búsqueda de sitios web

Cómo instalar Apache Kafka en CentOS


Apache Kafka es una plataforma de transmisión distribuida desarrollada por Apache Software Foundation y escrita en Java y Scala. LinkedIn desarrolló originalmente Apache Kafka.

Apache Kafka se utiliza para crear una canalización de datos de transmisión en tiempo real que obtiene datos de manera confiable entre sistemas y aplicaciones. Proporciona procesamiento de datos unificado, de alto rendimiento y de baja latencia en tiempo real.

Este tutorial le mostrará cómo instalar y configurar Apache Kafka en CentOS 7. Esta guía cubrirá la instalación y configuración de Apache Kafka y Apache Zookeeper.

Requisitos previos

  • Servidor CentOS 7
  • Privilegios de root

¿Que haremos?

  1. Instalar Java OpenJDK 8
  2. Instalar y configurar Apache Zookeeper
  3. Instalar y configurar Apache Kafka
  4. Configurar Apache Zookeeper y Apache Kafka como servicios
  5. Pruebas

Paso 1: instalar Java OpenJDK 8

Apache Kafka ha sido escrito en Java y Scala, por lo que debemos instalar Java en el servidor.

Instale Java OpenJDK 8 en el servidor CentOS 7 usando el comando yum a continuación.

sudo yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

Una vez completada la instalación, verifique la versión de Java instalada.

java -version

Ahora tienes instalado Java OpenJDK 8.

Paso 2: instalar Apache Zookeeper

Apache Kafka utiliza zookeeper para elegir el controlador, la membresía del clúster y la configuración de temas. Zookeeper es un servicio distribuido de configuración y sincronización.

En este paso, instalaremos Apache Zookeeper mediante la instalación binaria.

Antes de instalar Apache Zookeeper, agregue un nuevo usuario llamado 'zookeeper' con el directorio de inicio '/opt/zookeeper'.

useradd -d /opt/zookeeper -s /bin/bash zookeeper
 passwd zookeeper

Ahora vaya al directorio '/opt' y descargue el archivo binario de Apache Zookeeper.

cd /opt
 wget https://www-us.apache.org/dist/zookeeper/stable/zookeeper-3.4.12.tar.gz

Extraiga el archivo zookeeper.tar.gz al directorio '/opt/zookeeper' y cambie el propietario del directorio al usuario y grupo 'zookeeper'.

tar -xf zookeeper-3.4.12.tar.gz -C /opt/zookeeper --strip-component=1
 sudo chown -R zookeeper:zookeeper /opt/zookeeper

A continuación, necesitamos crear una nueva configuración de cuidador del zoológico.

Inicie sesión como usuario 'zookeeper' y cree una nueva configuración 'zoo.conf' en el directorio 'conf'.

su - zookeeper
 vim conf/zoo.cfg

Pegue la siguiente configuración allí.

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper/data
clientPort=2181

Guardar y Salir.

La configuración básica de Apache Zookeeper se completó y se ejecutará en el puerto 2181.

Paso 3: descargue e instale Apache Kafka

En este paso, instalaremos y configuraremos Apache Kafka.

Agregue un nuevo usuario llamado 'kafka' con el directorio de inicio '/opt/kafka'.

useradd -d /opt/kafka -s /bin/bash kafka
 passwd kafka

Vaya al directorio '/opt' y descargue los archivos binarios comprimidos de Apache Kafka.

cd /opt
 wget http://www-eu.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz

Extraiga el archivo kafka_*.tar.gz al directorio '/opt/kafka' y cambie el propietario de todos los archivos al usuario y grupo 'kafka'.

tar -xf kafka_2.11-2.0.0.tgz -C /opt/kafka --strip-components=1
 sudo chown -R kafka:kafka /opt/kafka

A continuación, inicie sesión como usuario 'kafka' y edite la configuración del servidor.

su - kafka
 vim config/server.properties

Pegue la siguiente configuración al final de la línea.

delete.topic.enable = true

Guardar y Salir.

Se descargó Apache Kafka y se completó la configuración básica.

Paso 4: configurar Apache Kafka y Zookeeper como servicios

Este tutorial ejecutará Apache Zookeeper y Apache Kafka como servicios systemd.

Necesitamos crear nuevos archivos de servicio para ambas plataformas.

Vaya al directorio '/lib/systemd/system' y cree un nuevo archivo de servicio llamado 'zookeeper.service'.

cd /lib/systemd/system/
 vim zookeeper.service

Pegue la siguiente configuración allí.

[Unit]
Requires=network.target remote-fs.target
After=network.target remote-fs.target

[Service]
Type=simple
User=kafka
ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

Guardar y Salir.

A continuación, cree el archivo de servicio para Apache Kafka 'kafka.service'.

vim kafka.service

Pegue la siguiente configuración allí.

[Unit]
Requires=zookeeper.service
After=zookeeper.service

[Service]
Type=simple
User=kafka
ExecStart=/bin/sh -c '/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties'
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

Guarde y salga, luego vuelva a cargar el sistema de gestión systemd.

systemctl daemon-reload

Inicie Apache Zookeeper y Apache Kafka usando los comandos systemctl a continuación.

systemctl start zookeeper
 systemctl enable zookeeper

systemctl iniciar kafka
systemctl habilitar kafka

Apache Zookeeper y Apache Kafka están en funcionamiento. Zookeeper ejecutándose en el puerto '2181' y Kafka en el puerto '9092', verifíquelo usando el siguiente comando netstat.

netstat -plntu

Paso 5 - Prueba

Inicie sesión como usuario 'kafka' y vaya al directorio 'bin/'.

su - kafka
 cd bin/

Ahora crea un nuevo tema llamado 'HakaseTesting'.

./kafka-topics.sh --create --zookeeper localhost:2181 \
 --replication-factor 1 --partitions 1 \
 --topic HakaseTesting

Y ejecute 'kafka-console-producer.sh' con el tema 'HakaseTesting'.

./kafka-console-producer.sh --broker-list localhost:9092 \
 --topic HakaseTesting

Escriba cualquier contenido en el shell.

A continuación, abra una nueva terminal, inicie sesión en el servidor e inicie sesión como usuario 'kafka'.

Ejecute 'kafka-console-consumer.sh' para el tema 'HakaseTesting'.

./kafka-console-consumer.sh --bootstrap-server localhost:9092 \
 --topic HakaseTesting --from-beginning

Y cuando escribe cualquier entrada desde el shell 'kafka-console-producer.sh', obtendrá el mismo resultado en el shell 'kafka-console-consumer.sh'.

La instalación y configuración de Apache Kafka en CentOS 7 se completó con éxito.

Referencia

  • https://kafka.apache.org/documentation/

Artículos relacionados: