一、下载安装
1 2
| wget -c https://archive.apache.org/dist/kafka/3.1.0/kafka_2.12-3.1.0.tgz tar -zxf kafka_2.12-3.1.0.tgz
|
二、kafka配置
配置文件config/server.properties
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| broker.id=0
listeners=PLAINTEXT://192.168.66.11:9092
log.dirs=/tmp/kafka-logs
zookeeper.connect=localhost:2181
num.partitions=1
offsets.topic.replication.factor=1 transaction.state.log.replication.factor=1 transaction.state.log.min.isr=1
log.retention.hours=168
|
设置副本数3
1 2 3 4
| offsets.topic.replication.factor=3 transaction.state.log.replication.factor=3 transaction.state.log.min.isr=3 default.replication.factor=3
|
三、服务管理
3.1 zk服务启动
kafka可以使用外部zk也可以使用自带zk
1 2 3 4
| bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
bin/zookeeper-server-stop.sh -daemon config/zookeeper.properties
|
3.2 启动及停止kafka
1 2 3 4 5 6 7 8
| bin/kafka-server-start.sh -daemon config/server.properties
JMX_PORT=9999 bin/kafka-server-start.sh -daemon config/server.properties
bin/kafka-server-stop.sh config/server.properties
tail -f logs/server.log
|
四、测试
1 创建topic
因为我的broker只部署了一个所以指定副本1个,分区数3
1
| bin/kafka-topics.sh --create --bootstrap-server 192.168.66.11:9092 --replication-factor 1 --partitions 3 --topic test
|
2 查看主题
1
| bin/kafka-topics.sh --list --bootstrap-server 192.168.66.11:9092
|
3 发送消息
1
| bin/kafka-console-producer.sh --broker-list 192.168.66.11:9092 --topic test
|
4 接收消息
1
| bin/kafka-console-consumer.sh --bootstrap-server 192.168.66.11:9092 --topic test --from-beginning
|
5 查看特定主题的详细信息
1
| bin/kafka-topics.sh --bootstrap-server 192.168.66.11:9092 --describe --topic test
|
6 删除主题
1
| bin/kafka-topics.sh --bootstrap-server 192.168.66.11:9092 --delete --topic test
|
学习源码:
https://github.com/leelun/kafkaexamples.git