GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar Apache Kafka en Rocky Linux 8

Apache Kafka es una aplicación de software de intermediario de mensajes y procesamiento de secuencias de código abierto que le permite procesar secuencias de datos a través de una plataforma de transmisión distribuida. Actúa como un sistema de mensajería entre el remitente y el destinatario. Apache Kafka se basa en una arquitectura distribuida, por lo que proporciona una alta tolerancia a errores y capacidades de escalabilidad. Originalmente fue desarrollado por LinkedIn, pero ahora es un proyecto de Apache Software Foundation. Apache Kafka proporciona una interfaz para leer y escribir datos en clústeres de Kafka o para importar y exportar datos hacia y desde sistemas de terceros.

En esta publicación, explicaremos cómo instalar Apache Kafka en Rocky Linux 8.

Requisitos

  • Un servidor que ejecuta RockyLinux 8 en Atlantic.Net Cloud Platform
  • Una contraseña de root configurada en su servidor

Paso 1:crear el servidor en la nube de Atlantic.Net

Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo Rocky Linux 8 como sistema operativo con al menos 2 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.

Una vez que haya iniciado sesión en su servidor, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.

dnf update -y

Paso 2:instalar Java

Apache Kafka es una aplicación basada en Java, por lo que Java debe estar instalado en su servidor. Si no está instalado, puede instalarlo usando el siguiente comando:

dnf install java-11-openjdk-devel -y

Una vez que Java esté instalado, verifique la instalación de Java usando el siguiente comando:

java --version

Obtendrá la versión de Java en el siguiente resultado:

openjdk 11.0.13 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)

Paso 3:instale Apache Kafka en Rocky Linux 8

Primero, vaya al sitio web oficial de Apache y descargue la última versión de Apache Kafka usando el comando wget:

wget https://dlcdn.apache.org/kafka/3.0.0/kafka_2.13-3.0.0.tgz

Una vez que se complete la descarga, extraiga el archivo descargado usando el siguiente comando:

tar -xvzf kafka_2.13-3.0.0.tgz

Una vez extraído el archivo descargado, mueva el directorio extraído a /usr/directorio local:

mv kafka_2.13-3.0.0/ /usr/local/kafka

Una vez que haya terminado, puede continuar con el siguiente paso.

Paso 4:crear un archivo de servicio de Systemd para Zookeeper y Kafka

Para el entorno de producción, se recomienda crear un archivo de servicio systemd para ejecutar tanto Zookeeper como Kafka en segundo plano.

Primero, cree un archivo de servicio systemd para Zookeeper con el siguiente comando:

nano /etc/systemd/system/zookeeper.service

Agregue las siguientes líneas:

[Unit]
Description=Apache Zookeeper server
Documentation=http://zookeeper.apache.org
Requires=network.target remote-fs.target
After=network.target remote-fs.target

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

[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo, luego cree un archivo de servicio systemd para Kafka usando el siguiente comando:

nano /etc/systemd/system/kafka.service

Agregue las siguientes líneas:

[Unit]
Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service

[Service]
Type=simple
Environment="JAVA_HOME=/usr/lib/jvm/jre-11-openjdk"
ExecStart=/usr/bin/bash /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/bin/bash /usr/local/kafka/bin/kafka-server-stop.sh

[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo, luego vuelva a cargar el demonio systemd con el siguiente comando:

systemctl daemon-reload

A continuación, inicie los servicios Zookeeper y Kafka y habilítelos para que se inicien al reiniciar el sistema:

systemctl start zookeeper
systemctl start kafka
systemctl enable zookeeper
systemctl enable kafka

También puede verificar ambos servicios usando el siguiente comando:

systemctl status zookeeper kafka

Obtendrá el siguiente resultado:

● zookeeper.service - Apache Zookeeper server
   Loaded: loaded (/etc/systemd/system/zookeeper.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-10-22 07:51:56 UTC; 42s ago
     Docs: http://zookeeper.apache.org
 Main PID: 33802 (java)
    Tasks: 28 (limit: 11411)
   Memory: 91.4M
   CGroup: /system.slice/zookeeper.service
           └─33802 java -Xmx512M -Xms512M -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCIn>

Oct 22 07:51:58 RockyLinux8 bash[33802]: [2021-10-22 07:51:58,676] INFO zookeeper.snapshot.compression.method = CHECKED (org.apache.zookeeper.>
Oct 22 07:51:58 RockyLinux8 bash[33802]: [2021-10-22 07:51:58,676] INFO Snapshotting: 0x0 to /tmp/zookeeper/version-2/snapshot.0 (org.apache.z>
Oct 22 07:51:58 RockyLinux8 bash[33802]: [2021-10-22 07:51:58,679] INFO Snapshot loaded in 22 ms, highest zxid is 0x0, digest is 1371985504 (o>
Oct 22 07:51:58 RockyLinux8 bash[33802]: [2021-10-22 07:51:58,679] INFO Snapshotting: 0x0 to /tmp/zookeeper/version-2/snapshot.0 (org.apache.z>
Oct 22 07:51:58 RockyLinux8 bash[33802]: [2021-10-22 07:51:58,683] INFO Snapshot taken in 3 ms (org.apache.zookeeper.server.ZooKeeperServer)
Oct 22 07:51:58 RockyLinux8 bash[33802]: [2021-10-22 07:51:58,703] INFO zookeeper.request_throttler.shutdownTimeout = 10000 (org.apache.zookee>
Oct 22 07:51:58 RockyLinux8 bash[33802]: [2021-10-22 07:51:58,741] INFO PrepRequestProcessor (sid:0) started, reconfigEnabled=false (org.apach>
Oct 22 07:51:58 RockyLinux8 bash[33802]: [2021-10-22 07:51:58,764] INFO Using checkIntervalMs=60000 maxPerMinute=10000 maxNeverUsedIntervalMs=>
Oct 22 07:51:58 RockyLinux8 bash[33802]: [2021-10-22 07:51:58,765] INFO ZooKeeper audit is disabled. (org.apache.zookeeper.audit.ZKAuditProvid>
Oct 22 07:52:12 RockyLinux8 bash[33802]: [2021-10-22 07:52:12,102] INFO Creating new log file: log.1 (org.apache.zookeeper.server.persistence.>

● kafka.service - Apache Kafka Server
   Loaded: loaded (/etc/systemd/system/kafka.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-10-22 07:52:09 UTC; 29s ago
     Docs: http://kafka.apache.org/documentation.html
 Main PID: 34147 (java)
    Tasks: 69 (limit: 11411)
   Memory: 331.6M
   CGroup: /system.slice/kafka.service
           └─34147 /usr/lib/jvm/jre-11-openjdk/bin/java -Xmx1G -Xms1G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancy>

Oct 22 07:52:14 RockyLinux8 bash[34147]: [2021-10-22 07:52:14,881] INFO [/config/changes-event-process-thread]: Starting (kafka.common.ZkNodeC>
Oct 22 07:52:14 RockyLinux8 bash[34147]: [2021-10-22 07:52:14,899] INFO [SocketServer listenerType=ZK_BROKER, nodeId=0] Starting socket server>
Oct 22 07:52:14 RockyLinux8 bash[34147]: [2021-10-22 07:52:14,981] INFO [SocketServer listenerType=ZK_BROKER, nodeId=0] Started data-plane acc>
Oct 22 07:52:14 RockyLinux8 bash[34147]: [2021-10-22 07:52:14,988] INFO [SocketServer listenerType=ZK_BROKER, nodeId=0] Started socket server >
Oct 22 07:52:15 RockyLinux8 bash[34147]: [2021-10-22 07:52:15,069] INFO Kafka version: 3.0.0 (org.apache.kafka.common.utils.AppInfoParser)
Oct 22 07:52:15 RockyLinux8 bash[34147]: [2021-10-22 07:52:15,069] INFO Kafka commitId: 8cb0a5e9d3441962 (org.apache.kafka.common.utils.AppInf>
Oct 22 07:52:15 RockyLinux8 bash[34147]: [2021-10-22 07:52:15,069] INFO Kafka startTimeMs: 1634889134988 (org.apache.kafka.

Paso 5:crea un tema en Kafka

Para probar Apache Kafka, deberá crear al menos un tema en el servidor.

Cambie el directorio a Apache Kafka y cree un tema de prueba llamado tema1 con el siguiente comando:

cd /usr/local/kafka/
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic topic1

Ahora puede verificar su tema creado usando el siguiente comando:

bin/kafka-topics.sh --list --bootstrap-server localhost:9092

Obtendrá el siguiente resultado:

topic1

Kafka proporciona dos API:Producer y Consumer. El Productor es responsable de crear eventos y el Consumidor los muestra en la pantalla:

Primero, ejecute el siguiente comando para crear un evento llamado event1 usando el siguiente comando:

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

Escriba algún texto que desee transmitir y mostrar en el Consumidor.

>Hi, this is my first event

Salida de muestra:

[2021-10-22 07:58:05,318] WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 3 : {event1=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)

Abra otra terminal y ejecute el siguiente comando para mostrar los datos de eventos generados en tiempo real:

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

Obtendrá el siguiente resultado:

Hi, this is my first event

Conclusión

En la guía anterior, aprendiste cómo instalar Apache Kafka en Rocky Linux 8. Para obtener más información, puedes visitar la página de documentación de Apache Kafka. ¡Empiece a utilizar Apache Kafka en alojamiento VPS de Atlantic.Net!


Linux
  1. Cómo instalar RockyLinux 8.4

  2. Cómo instalar Apache Cassandra en AlmaLinux / Rocky Linux 8

  3. Cómo instalar Apache Kafka en CentOS 8

  4. Cómo instalar Apache Maven en Rocky Linux/Alma Linux 8

  5. Cómo instalar Python 3.10 en Rocky Linux 8

Cómo instalar Apache en Almalinux 8 / Rocky Linux 8

Cómo instalar Apache Kafka en Rocky Linux 8 o AlmaLinux

Cómo instalar Docker CE en Rocky Linux 8

Cómo instalar Anydesk en Rocky Linux 8

Cómo instalar Apache Tomcat en Rocky Linux 8

Instale WonderCMS en Rocky Linux 8