1.官网下载链接:
Apache KafkaApache Kafka: A Distributed Streaming Platform.https://kafka.apache.org/downloads2.下载 kafka_2.12-3.2.1.tgz格式压缩包,上传到linux目录下(注:安装kafka需要安装对应的JDK,我这里使用的是JDK11版本)
目录地址可新建 mkdir /data,放在data目录中。
下载kafka压缩包,注意下载的是Binary downloads(二进制下载)下面的压缩包,
Source download(源码下载)下面的压缩包,有兴趣的小伙伴可以学习。
3.需要外部服务访问,把9092端口开放
#开启防火墙命令
systemctl start firewalld
#添加9092端口
firewall-cmd --zone=public --add-port=9092/tcp --permanent
#重置防火墙
firewall-cmd --reload
#防火墙查看已开放端口列表
firewall-cmd --zone=public --list-ports
4.将压缩包解压到data目录中
tar -zxvf kafka_2.12-3.2.1.tgz
#修改linux全局配置文件
vim /etc/profile
export KAFKA_HOME=/data/kafka_2.12-3.2.1
export PATH=$PATH:$KAFKA_HOME/bin
#刷新配置文件
source /etc/profile
5.解压后进入目录,创建logs文件夹
cd kafka_2.12-3.2.1/
mkdir logs
6.进入config目录,修改 server.properties和 zookeeper.properties 文件,参数说明自行百度。
vim server.properties
把以下内容直接覆盖server.properties
broker.id=0
#这里配置0.0.0.0,是让所有请求都会被接受处理。
listeners=PLAINTEXT://0.0.0.0:9092
#这里配置192.168.1.X,是你自己服务器的ip地址
advertised.listeners=PLAINTEXT://192.168.1.X:9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/data/kafka_2.12-3.2.1/kafka-data
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=127.0.0.1:2181
zookeeper.connection.timeout.ms=18000
group.initial.rebalance.delay.ms=0
vim zookeeper.properties
把以下内容直接覆盖zookeeper.properties
dataDir=/data/kafka_2.12-3.2.1/zookeeper-data
clientPort=2181
maxClientCnxns=100
initLimit=10
syncLimit=5
admin.enableServer=false
7.进入bin目录,启动Kafka,需要先启动zookeeper(注:kafka2.8及以后的版本自带zookeeper,不需要重新安装zookeeper)
nohup zookeeper-server-start.sh -daemon ../config/zookeeper.properties > ../logs/zookeeper.log 2>&1 &
nohup kafka-server-start.sh -daemon ../config/server.properties > ../logs/server.log 2>&1 &
出现提示started,则表示启动成功,启动报错根据错误提示重新修改。
tail -100f ../logs/server.log
8.测试(注:开两个会话窗口,一个生产者,一个消费者,在bin目录下分别执行)
创建topic并进行生产消息:
kafka-console-producer.sh --topic test --bootstrap-server 127.0.0.1:9092
消费消息:
kafka-console-consumer.sh --topic test --bootstrap-server 127.0.0.1:9092
出现以下效果,及测试成功。
查看topic
kafka-topics.sh --list --bootstrap-server localhost:9092
删除topic,这里把--topic test替换成你自己的topic
kafka-topics.sh --delete --bootstrap-server localhost:9092 --topic test