1,软件下载
wget https://dlcdn.apache.org/kafka/3.0.0/kafka_2.13-3.0.0.tgz
2, 解压缩
tar -zxvf kafka_2.13-3.0.0.tgz -C /usr/local
cd /usr/local/kafka/config 目录
vim server.properties 修改如下配置
broker.id = 0
listeners=PLAINTEXT://192.168.136.3:9092
log.dirs=/usr/local/kafka/logs
zookeeper.connect=127.0.0.1:2181
配置KAFKA环境变量(可选)
export KAFKA_HOME=/usr/loca/kafka
export PATH=$PATH:$KAFKA_HOME/bin
/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
备注:kafka依赖zookeeper,启动kafka前先启动zookeeper,zookeeper安装与配置请看前篇blog
1. 创建topic
./kafka-topics.sh --create --bootstrap-server 192.168.136.3:9092 --replication-factor 1 --partitions 1 --topic test
2. 查看主题
./kafka-topics.sh --list --bootstrap-server 192.168.136.3:9092
3. 发送消息
./kafka-console-producer.sh --broker-list 192.168.136.3:9092 --topic test
4. 接收消息
./kafka-console-consumer.sh --bootstrap-server 192.168.136.3:9092 --topic test --from-beginning
5. 查看特定主题的详细信息
./kafka-topics.sh --bootstrap-server 192.168.136.3:9092 --describe --topic test
6. 删除主题
./kafka-topics.sh --bootstrap-server 192.168.136.3:9092 --delete --topic test
配置相关:
1, group.id 不同会从头开始消费,所以同一个消费者 group.id 应为常量
2, 消费者若要手动提交消息(提交后,该消费者不会在接收到该条消息类似rabbitMQ 的手动ACK),需在创建消费者时将enable.auto.commit设置为false
3, 客户端服务崩溃或重启后,若要接着之前的offset消费,则需要在创建消费者时将auto.offset.reset设置为earliest
官方教程:http://kafka.apache.org/quickstart