1. 先安装JDK
https://blog.csdn.net/weixin_41645232/article/details/104574705
2. 下载Linux安装包并上传解压
# 上传到opt目录下并解压
cd /opt
tar -zxvf ./kafka_2.11-2.2.0.tgz
3. 修改解压后的文件名并创建logs目录
mv ./kafka_2.11-2.2.0 ./kafka
cd /opt/kafka
mkdir logs
4. 配置文件详解
#broker 的全局唯一编号,集群模式下不能重复
broker.id=0
#删除 topic 功能使能
delete.topic.enable=true
#处理网络请求的线程数量
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/kafka/logs
#topic 在当前 broker 上的分区个数
num.partitions=1
#用来恢复和清理 data 下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment 文件保留的最长时间,超时将被删除
log.retention.hours=168
#配置连接 Zookeeper,集群模式用 , 隔开
zookeeper.connect=localhost:2181
5. 配置环境变量
vim /etc/profile
# 在最末尾写入下面三行
#KAFKA_HOME
export KAFKA_HOME=/opt/kafka
export PATH=$PATH:$KAFKA_HOME/bin
source /etc/profile
6. 启动zookeeper和kafka
这里kafka自带了zookeeper,直接cd到kafka的bin目录操作。
cd /opt/kafka/bin
# 启动zookeeper
./zookeeper-server-start.sh -daemon ../config/zookeeper.properties
# 启动kafka
./kafka-server-start.sh -daemon ../config/server.properties
7. 测试
# 创建topic
./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic hello
# 查看topic
./kafka-topics.sh --zookeeper localhost:2181 --list
# 生产者发送消息
./kafka-console-producer.sh --broker-list localhost:9092 --topic hello
# 另起一个终端,消费者消费消息
# 从头开始消费
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic hello --from-beginning
# 实时消费
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic hello