1. Información básica
Sitio web oficial: http://kafka.apache.org
Inicio rápido: http://kafka.apache.org/quickstart
Descarga desde el sitio web oficial: http://kafka.apache.org/downloads http://apache.fayea.com/kafka/
Documento chino: http://kafka.apachecn.org/
W3CSchool: https://www.w3cschool.cn/apache_kafka/
Hortonworks: https://hortonworks.com/apache/kafka
2. Información de configuración del sistema y la herramienta
1. Versión del sistema: CentOS-7-x86_64-Minimal-1708
2. Versión de JDK: jdk1.8
3. Herramientas: xshell5
4. Versión de VMware: VMware Workstation Pro15
Tres, construcción de racimo
1. Instalación de máquina virtual
Referencia https://blog.csdn.net/llwy1428/article/details/89328381
2. Construcción del entorno JDK8
Consulte https://blog.csdn.net/llwy1428/article/details/85232267
3. Construcción del entorno del clúster Zookeeper
Referencia https://blog.csdn.net/llwy1428/article/details/85937442
La construcción del entorno JDK y Zookeeper anterior debe completarse en cada nodo del clúster
4. Realice la configuración básica en el nodo node3.cn (después de configurar la información básica, envíe el archivo de instalación configurado a otros nodos)
Entrar en el catálogo
[root@node3 ~]# cd /opt/cluster/
5. Descarga y descomprime archivos
下载:
[root@node3 cluster]# wget https://www-eu.apache.org/dist/kafka/2.3.0/kafka_2.12-2.3.0.tgz
解压:
[root@node3 cluster]# tar zxvf kafka_2.12-2.3.0.tgz
6. Empoderamiento
[root@node3 cluster]# chmod 777 -R kafka_2.12-2.3.0
Ver catalogo
7. Edite el archivo de configuración
[root@node3 cluster]# vim /opt/cluster/kafka_2.12-2.3.0/config/server.properties
#修改以下配置
#为方便,直接将broker.id设置为了ip的最后一段,当集群中有多个Kafka时,他们的这个值必须不一样
broker.id=133
#端口暂时不变
port=9092
#hostname修改为本机的主机名
host.name=node3.cn
#可选配置项,将日志输出到指定的位置
log.dirs=/tmp/kafka-logs
#必须配置自己的zookeeper
zookeeper.connect=node3.cn:2181,node4.cn:2181,node5.cn:2181
#在配置集群的时候,必须设置
listeners = PLAINTEXT://node3.cn:9092
Nota
Si es una versión independiente, simplemente use la configuración predeterminada.
Si está configurando un clúster, se debe modificar la siguiente información:
(1) Broker.id: en el mismo clúster, cada máquina no puede ser la misma
(2) Zookeeper.connect: Como tengo 3 servidores zookeeper, aquí zookeeper.connect está configurado en 3, todos deben agregarse
(3), oyentes: al configurar el clúster, se debe configurar, de lo contrario, las operaciones posteriores informarán un error de que no se puede encontrar el líder
8. Distribuya los archivos configurados
[root@node3 cluster]# scp -r /opt/cluster/kafka_2.12-2.3.0 node4.cn:/opt/cluster/
[root@node3 cluster]# scp -r /opt/cluster/kafka_2.12-2.3.0 node5.cn:/opt/cluster/
9. Ingrese el nodo node4.cn
Modifique el archivo de configuración server.properties
[root@node4 cluster]# vim /opt/cluster/kafka_2.12-2.3.0/config/server.properties
Modificar información
broker.id=134
listeners=PLAINTEXT://node4.cn:9092
10. Ingrese el nodo node5.cn
Modifique el archivo de configuración server.properties
[root@node5 cluster]# vim /opt/cluster/kafka_2.12-2.3.0/config/server.properties
Modificar información
broker.id=135
listeners=PLAINTEXT://node5.cn:9092
11. Configuración de puerto o firewall
Apague el firewall de cada nodo en el clúster o abra el puerto correspondiente
Apague el firewall
关闭防火墙 : systemctl stop firewalld
查看状态 : systemctl status firewalld
开机禁用 : systemctl disable firewalld
Puerto a lista blanca
[root@node3 ~]# firewall-cmd --zone=public --add-port=9092/tcp --permanent
[root@node3 ~]# firewall-cmd --reload
12. Inicie el clúster de Zookeeper y vea el estado de Zookeeper de cada nodo en el clúster.
Proceso: Omitido. Consulte https://hunter.blog.csdn.net/article/details/96651537
Ver el estado de cada nodo en el clúster de Zookeeper
~]# /opt/cluster/zookeeper-3.4.5-cdh5.16.1/bin/zkServer.sh status
13. Inicie el servicio Kafka en cada nodo del clúster.
[root@node3 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-server-start.sh -daemon /opt/cluster/kafka_2.12-2.3.0/config/server.properties
[root@node4 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-server-start.sh -daemon /opt/cluster/kafka_2.12-2.3.0/config/server.properties
[root@node5 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-server-start.sh -daemon /opt/cluster/kafka_2.12-2.3.0/config/server.properties
14. Ver el estado de inicio de los servicios de cada nodo del clúster.
15. Operar Kafka
Crear tema
[root@node3 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-topics.sh --create --zookeeper node3.cn:2181 --replication-factor 1 --partitions 1 --topic test
Creado con éxito, como se muestra a continuación:
Explicación:
--zookeeper: es la dirección del servidor zk, que se ha dividido por comas para configurar múltiples
--replication-factor: el número de réplicas del líder de la partición, 1 significa que no hay copia o la partición en sí, y se recomienda que sea 2
--partitions: el número de particiones
--topic: topic nombre
16. Ver tema
[root@node3 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-topics.sh --list --zookeeper node3.cn:2181
17. Ver información sobre temas de prueba
[root@node3 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-topics.sh --describe --zookeeper node3.cn:2181 --topic test
Descripción:
líder: responsable de procesar la lectura y escritura de mensajes, el líder se selecciona aleatoriamente de todos los nodos.
Réplicas: enumere todos los nodos de réplica, independientemente de si el nodo está en servicio.
Lsr: Es el nodo que está en servicio.
18. Publicar noticias
[root@node3 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-console-producer.sh --broker-list node3.cn:9092 --topic test
19. Noticias para el consumidor
[root@node5 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-console-consumer.sh --bootstrap-server node3.cn:9092 --topic test --from-beginning
Descripción:
desde el principio: empezar desde cero cada vez
20, eliminar tema
[root@node3 ~]# /opt/cluster/kafka_2.12-2.3.0/bin/kafka-topics --delete --zookeeper node3.cn:2181 --topic test
Cuatro, gestión visual de clústeres
https://blog.csdn.net/llwy1428/article/details/94389615
Hasta ahora, Centos7.4 compila el clúster Kafka (v2.12-2.3.0), ¡la operación está completa!