kafka概述及快速入门

一 kafka概述

1 kafka定义

​ kafka是一个分布式的基于发布、订阅模式的消息队列,广泛应用于大数据实时处理领域。

2 消息队列

相当于一个中间商,在客户端和服务端中间建立一个缓冲并能处理数据的组件

消息队列的好处:

①解耦

②缓冲

③异步处理

④削峰

⑤可恢复性

二 kafka快速入门

1 安装部署

①kafka是分布式的,所以需要配置在多台服务器上,且必须要有zookeeper的支持,需要先启动zookeeper服务才能启动kafka服务

②kafka下载:

http://kafka.apache.org/downloads.html

③集群部署:

解压好安装包后,修改配置文件server.properties

#broker的全局唯一编号,不能重复
broker.id=0
#处理网络请求的线程数量
num.network.threads=3
#用来处理磁盘IO的线程数量
num.io.threads=8
#发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
#kafka运行日志存放的路径
log.dirs=/opt/module/kafka/logs
#topic在当前broker上的分区个数
num.partitions=1
#用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment文件保留的最长时间,超时将被删除
log.retention.hours=168
#配置连接Zookeeper集群地址
zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181

④配置环境变量

2 kafka命令行操作

①增加topic

kafka-topics.sh  --bootstrap-server hadoop102:9092 --create [--replication-factor 2] [--partitions 1] --topic first

选项说明:

–topic 定义topic名

–replication-factor 定义副本数

–partitions 定义分区数

②删除topic

kafka-topics.sh  --bootstrap-server hadoop102:9092 --delete --topic first

③修改topic

修改分区数

kafka-topics.sh  --bootstrap-server hadoop102:9092 --alter --topic first --partition 2

④查找topic

查找该集群中所有的topic

kafka-topics.sh --bootstrap-server hadoop102:9092 --list

显示指定topic的详细信息

kafka-topics.sh --bootstrap-server hadoop102:9092 --describe --topic first

⑤发送消息

kafka-console-producer.sh --broker-list hadoop102:9092 --topic first

⑥消费消息

kafka-console-consumer.sh --bootstrap-server hadoop102:9092 [--from-beginning] --topic first

​ --from-beginning:会把主题中现有的所有的数据都读取出来

你可能感兴趣的:(kafka)