1. Información general
Kafka es una cola de mensajes distribuida (Message Queue) basada en el modelo de publicación / suscripción , que se utiliza principalmente en el procesamiento en tiempo real de big data.
Las áreas de aplicación tradicionales de las colas de mensajes son el procesamiento asíncrono, la reducción de picos de tráfico y el desacoplamiento.
Dos modos de cola de mensajes:
Modo punto a punto (uno a uno, los consumidores extraen datos de forma activa y el mensaje se borra después de recibir el mensaje)
Modelo de publicación / suscripción (uno a muchos, los mensajes no se borrarán después de que los consumidores consuman datos)
2. Instalación
Modifique el archivo de configuración server.propertities después de la descompresión
#broker的全局唯一编号,不能重复,每个节点的id不一样
broker.id=0
#删除topic功能使能
delete.topic.enable=true
#kafka运行日志存放的路径,需要自己创建
log.dirs=/opt/module/kafka/logs
#配置连接Zookeeper集群地址
zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181
Configurar variables de entorno
$ sudo vi /etc/profile
#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
$ source /etc/profile
3. Comando Kafak
Arranque y apagado
#启动
bin/kafka-server-start.sh -daemon config/server.properties
#关闭
bin/kafka-server-stop.sh stop
Agregar, eliminar, modificar
创建
bin/kafka-topics.sh --zookeeper hadoop102:2181 --create --replication-factor 3 --partitions
1 --topic first
选项说明:
--topic 定义topic名
--replication-factor 定义副本数
--partitions 定义分区数
删除
bin/kafka-topics.sh --zookeeper hadoop102:2181 --delete --topic first
需要server.properties中设置delete.topic.enable=true否则只是标记删除。
查看
查看所有
bin/kafka-topics.sh --zookeeper hadoop102:2181 --list
查看某一个topic
bin/kafka-topics.sh --zookeeper hadoop102:2181 --describe --topic first
修改分区数
bin/kafka-topics.sh --zookeeper hadoop102:2181 --alter --topic first --partitions 6
消费消息
bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --from-beginning --topic first
--from-beginning:会把主题中以往所有的数据都读取出来。